通过regexp过滤每行linux bash输出

T. *_*ter 18 unix linux bash

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

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

例如cat filepath | xargs grep 'pattern' -l,不适合我

Exp*_*lls 19

cat file | grep pattern
Run Code Online (Sandbox Code Playgroud)

你也可以使用grep pattern file它,如果它是一个静态文件.


Pau*_*bro 12

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

 cat my_phonebook | egrep "[0-9]{10}"
Run Code Online (Sandbox Code Playgroud)

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

如果你扔了一个-o,只返回数字(而不是行上的前后内容).