我有文本文件。我只需要打印这些包含特定字符串之一的行,例如:文本文件:
Car, bold 231212 /Fds
House pen 232123 /RYF
game kon 342442 /ksgj
mess three 42424 /UTR
我只需要保留包含 Fds 或 UTR 的行
输出:
Car, bold 231212 /Fds
mess three 42424 /UTR
如何在 grep 中执行这些操作?
谢谢
尝试这样做,OR
操作员是管道: |
:
grep -E 'Fds|UTR' file
或者
grep -E '(Fds|UTR)' file
或者
grep -P '(?:Fds|UTR)' file
或者
grep 'Fds\|UTR' file
幸运的是,这可以通过一个命令来完成。grep 可用于直接搜索文件或通过管道传输的任何数据。在这种情况下,我们将只使用它来搜索单个文件。
grep 可以使用正则表达式,用于在搜索时允许“或”行为(由“|”或管道符号表示)。您正在寻找的命令应该是
grep 'Fds\|UTR' filename
这个反斜杠很重要。没有它,grep 会搜索字符串“Fds|UTR”,这显然不存在于搜索文本中。
或者,可以使用egrep
.
egrep 'Fds|UTR' filename
我也会用 grep 来做。斯普特尼克给出了答案。作为替代方案, sed 解决方案:
sed '/Fds\|UTR/!d' file