我正在尝试使用AWK来确定文件中有多少行包含字符串。
BEGIN {RS=FS}
{if ($0 ~ /ed/) n++}
END {print n}
只要 ed 前面有空格,无论是ed或education,如果该行包含muted或fed,它都不会注册它们。我以为/.*ed/会纠正这个但没有这样的运气。
答案 0 :(得分:3)
或者只需使用grep
-c
选项来计算出现次数:
grep -c ed file
4
答案 1 :(得分:2)
只需删除BEGIN {RS=FS}
就可以了。
cat file
ed
education
not here
covered
fed
not here
awk '/ed/ {n++} END {print n}' file
4
$0~/ed/
与/ed/
相同。它将搜索该行,如果找到任何ed
则递增计数器
因此,在我的示例中,找到了4
ed
。