我试图用空行将 grep 结果分开,但我不知道该放在哪里,或者在使用 -e 时是否可以使用组分隔符:
tail -100 testing.log | grep -e pattern1 -e pattern2 -e pattern3 -e pattern4 --group-separator=$'\n\n'
如果我将组分隔符移到 -e 之后,它会抱怨 pattern2 不是文件/目录
tail -100 testing.log | grep -e pattern1 -e --group-separator=$'\n\n' pattern2 -e pattern3 -e pattern4
答案1
您正在寻找 GNU 用户的概要(如手册中所示)grep
是
grep [OPTIONS] -e PATTERN ... [FILE]
也就是说,如果您有 的选项grep
,则这些选项应该首先出现在用 给出的任何模式表达式之前-e
。在你的情况下:
grep --group-separator=$'\n\n' -e pattern1 -e pattern2 -e pattern3 -e pattern4
但请注意,除非您将 GNU与,或一起--group-separator
使用,否则这不会生效。grep
-A
-B
-C