【发布时间】:2011-06-15 23:52:29
【问题描述】:
我正在为以一些模式开头的行做一个简单的 grep,例如:
grep -E "^AAA" myfile > newfile
我还想(同时)将那些不匹配的行重定向到另一个文件。
我知道可以简单地执行两次并在第二次尝试中使用 -v ,但是文件(相对)很大并且只读取一次会节省一些非常宝贵的时间...
我正在考虑将不匹配重定向到 stderr,例如:
grep -E -magic_switch "^AAA" myfile > newfile 2> newfile.nonmatch
grep 是否可以实现这个技巧,还是我应该只编写代码?
(可能有额外的价值 - 我在 bash 脚本中对此进行编码)
【问题讨论】:
标签: bash file command-line grep