这是我的文件。
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