通过regexp过滤每行linux bash输出

时间:2013-03-22 20:42:29

标签: linux bash unix

我想过滤任意输出的输出,例如catobjdump仅显示包含“pattern”的行。

是否有单行UNIX / Linux命令来执行此操作?

e.g。 cat filepath | xargs grep 'pattern' -l不适合我

2 个答案:

答案 0 :(得分:15)

cat file | grep pattern

如果它是静态文件,您也可以使用grep pattern file

答案 1 :(得分:11)

最好使用grep -eegrep(这允许扩展正则表达式)。 然后你可以用正则表达式做更强大的事情:

 cat my_phonebook | egrep "[0-9]{10}"

显示文件中的所有10位数电话号码。

如果你扔进-o,只会返回数字(而不是该行的前后内容)。