如何在Bash中获取制表符分隔文件的第二列和第三列?

42

我想使用bash处理一个以制表符分隔的文件。我只需要将第二列和第三列写入一个新文件。

3个回答

86

cut(1)是专门为此目的而创建的:

cut -f 2-3 input.txt > output.txt

15

Cut 可能是最佳选择,其次是 awk

awk -F"\t" '{print $2 "\t" $3}' input > out

3
这个文件有200万行,所以我想剪切功能很好用......谢谢你的帮助。 - RnD
1
当你想要改变列的顺序时,awk非常有用。而cut则无法做到这一点! - ostrokach

3

扩展了carl-norum的回答,只使用制表符作为分隔符,而不是所有空格:

cut -d$'\t' -f 2-3 input.txt > output.txt

在d和$之间不要放空格。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接