如何grep,然后从分隔列文件中剪切?

And*_*say 4 linux bash grep cut

我有一个包含多行的文件,每行用|多个列分隔.我可以grep某一行,我可以削减某一列,但我无法弄清楚如何做到这两个.

grep '^1001' customer
Run Code Online (Sandbox Code Playgroud)

从名为customer的文件中获取以1001开头的行

cut -d "|" -f 3 customer
Run Code Online (Sandbox Code Playgroud)

从客户文件中的所有行中删除第3列.

所以....

grep '^1001' customer | cut -d "|" -f 3 customer
Run Code Online (Sandbox Code Playgroud)

NPE*_*NPE 5

只需在调用时省略文件名cut,它就会使用输出grep作为输入:

grep 1001 customer | cut -d "|" -f 3
Run Code Online (Sandbox Code Playgroud)

值得注意的是,grep 1001不要抓住以1001开头的行; 它抓取包含 1001的行.