文本分析工具awk简单示例,文本awk示例
文本分析工具awk简单示例,文本awk示例
先创建一个文件:vim hi
取第2个字段和第3个字段:
awk '{print $2,$3}' hi 注意{}中的,逗号会在输出的时候转变为空格
加入字符说明:
显示整行:
指定字段分隔符:-F
内建变量:NF NF:字段数量, $NF代表最后一个字段
NR:行数
/regular expression/: 仅处理能够被此处的模式匹配到的行
取反:awk '!/^john/{print $2}' hi
上面的语句表示如果第三个字段大于等于500,则取第一和第三个字段
判断最后一个字段是否为/bin/bash,如果是则打印第一和最后一个字段
做模式匹配
cat hi
做行范围匹配
取得行范围:
if条件判断语句:判断第三个字段的值是否大于500
字符替换:
echo "this is a test" | awk 'gsub("test","abd")'
cat hi
while循环:
NF代表当前行的字段数,length是个函数,取得$i这个字段的字符长度
awk '/^tom/{i=1;while(i<=NF) {if(length($i)>=4){print $i,length($i)}; i++}}' hi
在while循环中又嵌套了if语句
上面的while语句也可以用for循环语句代替
awk '/tom/{for(i=1;i<=NF;i++) {print $i,length($i)}}' hi
评论暂时关闭