这是我的档案。
this is temp1
this is temp2
this is temp3
如何使用grep命令在查找模式'temp'时,结果应该只显示为'temp1,temp2,temp3',而不是整个句子。
由于
答案 0 :(得分:7)
你可以使用-o选项
$ grep -o "temp[0-9]"
答案 1 :(得分:1)
您可能希望将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/"
答案 2 :(得分:1)
您可以将多行换行,然后将其输入grep中,例如
grep myword | tr ' ' '\n' | grep myword