我有文字文件。我需要打印这些包含特定字符串的行,例如: 文本文件:
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中执行这些操作?
谢谢
答案 0 :(得分:8)
尝试这样做,OR
运算符是管道:|
:
grep -E 'Fds|UTR' file
或
grep -E '(Fds|UTR)' file
或
grep -P '(?:Fds|UTR)' file
或
grep 'Fds\|UTR' file
答案 1 :(得分:3)
幸运的是,这可以通过一个命令完成。 grep可用于直接搜索文件或通过管道传输的任何数据。在这种情况下,我们只是用它来搜索单个文件。
grep可以使用正则表达式,它将用于在搜索时允许“或”行为(由“|”或管道符号表示)。您正在寻找的命令应该是
grep 'Fds\|UTR' filename
反斜杠很重要。没有它,grep会搜索字符串“Fds | UTR”,这在搜索文本中显然不存在。
或者,可以使用egrep
。
egrep 'Fds|UTR' filename
答案 2 :(得分:1)
我也会用grep来做。斯毕尼克给出了答案。作为替代方案,sed解决方案:
sed '/Fds\|UTR/!d' file