这是我的文件。
this is temp1
this is temp2
this is temp3
如何使用 grep 命令在查找模式“temp”时,结果应仅显示为“temp1,temp2,temp3”,而不是整个句子。
谢谢
你可以使用 -o 选项
$ grep -o "temp[0-9]"
您可能希望grep
与sed
. sed 使用 perl 风格的正则表达式,并为您提供更多的模式匹配能力(嗯,在我看来)。这将得到你所需要的:
grep temp yourFileName | sed -e "s/.*(temp[0-9]*).*/\1/"
但是如果你想要的不仅仅是 temp[number],你可以匹配 "temp" 然后继续匹配,直到你碰到一个空格。这可以解决问题:
grep temp yourFileName | sed -e "s/.*(temp[^ ]*).*/\1/"
如果这是在命令行上,您可能还需要转义括号:
grep temp yourFileName | sed -e "s/.*\(temp[^ ]*\).*/\1/"
您可以将行分成多行,然后将其输入 grep 例如
grep myword | tr ' ' '\n' | grep myword