你好我有个问题
link
我有一个大的文本文件,其中有些行包含单词"DataMeetingIs11"
,而下面的行包含单词"done"
或注释。我的任务是数一数这些行。例如,我想在没有“完成”字的情况下计算这几行
grep -A 1 DataMeetingIs11 your_file|fgrep -v -c
不起作用
最佳答案
您需要添加-P
Perl regexp参数来实现上述目的。
grep -oPz '.*DataMeetingIs11.*(?=\n.*done)' file | wc -l
必要时添加单词边界。
grep -oPz '.*\bDataMeetingIs11\b.*(?=\n.*\bdone\b)' file | wc -l
例子:
$ cat fa
DataMeetingIs11
done
foo
bar
DataMeetingIs11
not
DataMeetingIs11
fio done
$ grep -oPz '.*DataMeetingIs11.*(?=\n.*done)' fa | wc -l
2