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

时间:2013-02-28 07:29:56

标签: linux bash grep cut

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

grep '^1001' customer

从名为customer

的文件中获取以1001开头的行
cut -d "|" -f 3 customer

从客户档案中的所有行中删除第3列。

所以......

grep '^1001' customer | cut -d "|" -f 3 customer

2 个答案:

答案 0 :(得分:5)

当您致电cut时,只需省略文件名,它就会使用grep的输出作为输入:

grep 1001 customer | cut -d "|" -f 3

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

答案 1 :(得分:4)

更好地使用像这样的任务请求,并避免使用管道的多个命令:

awk -F "|" '$1==1001{print $3}' customer