bal*_*lki 13 grep text-processing tee
是否有脚本/程序/实用程序已经以优化的方式满足以下要求?
someCommand |
tee >(grep "pattern" > LinesWhichMatch) |
grep -v "pattern" > LinesWhichDoesNotMatch
Run Code Online (Sandbox Code Playgroud)
Chr*_*own 16
你可以用awk
它。
command | awk '{ if (/pattern/) { print > "match" } else { print > "nomatch" } }'
Run Code Online (Sandbox Code Playgroud)
Pet*_*r.O 10
下面是一个sed
例子:
注意:w
每次运行脚本时,sed 的命令都会覆盖现有文件,但前提是触发了特定的写入命令;因此rm
rm -f file-{yes,not}
sed -ne '/pattern/bY; w file-not' -e 'b; :Y; w file-yes' file
Run Code Online (Sandbox Code Playgroud)
您可以在 awk 中附加文件:
awk '{if (/pattern/) print >>"matched"; else print >>"unmatched"; }
Run Code Online (Sandbox Code Playgroud)
或更短:
awk '{print >>(/pattern/?"matched":"unmatched")}'
Run Code Online (Sandbox Code Playgroud)