我有一个包含多行的文件,每行用|
分隔成多列。
我可以grep某一行,我可以削减某一列,但我无法弄清楚如何做到这两个。
grep '^1001' customer
从名为customer
的文件中获取以1001开头的行cut -d "|" -f 3 customer
从客户档案中的所有行中删除第3列。
所以......
grep '^1001' customer | cut -d "|" -f 3 customer
答案 0 :(得分:5)
当您致电cut
时,只需省略文件名,它就会使用grep
的输出作为输入:
grep 1001 customer | cut -d "|" -f 3
值得注意的是,grep 1001
不会抓取以1001开头的行;它抓取包含 1001的行。
答案 1 :(得分:4)
更好地使用像这样的任务请求,并避免使用管道的多个命令:
awk -F "|" '$1==1001{print $3}' customer