4

我有一个包含多行的文件,每行分隔|成多列。我可以 grep 某一行,我可以剪切某一列,但我不知道如何做到这两点。

grep '^1001' customer

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

cut -d "|" -f 3 customer

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

所以....

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

2 回答 2

6

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

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

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

于 2013-02-28T07:32:00.690 回答
4

更好地使用这样的任务,并避免使用管道执行多个命令

awk -F "|" '$1==1001{print $3}' customer
于 2013-02-28T07:41:06.140 回答