1.这个是统计一个文件中字符串的个数:
cat file.txt | awk -F " " 'BEGIN{count=0}; {print NF;for(i=1; i<=NF; i++) {if($i=="echo"){count++;print $i}}}; END{print count}'
这个是统计file.txt中的echo的个数;
思路是:用空格作为分隔域,然后用for循环遍历这一行中的单词数,和echo进行比较,如果匹配成功,那么就count++;BEGIN是用来设置count的初始值,END用来进行最后的count输出,NF表示的是这一条记录的分隔域的个数;BEGIN,END,NF都是awk的内置变量;
注意上面的-F选项是用来设置分割域的,用空格作为分隔域的话,记得冒号中间要有个空格;awk执行语句在单引号中间;大括号记得要成对出现