【发布时间】:2023-03-03 01:32:02
【问题描述】:
我想使用 bash 来处理制表符分隔的文件。我只需要第二列和第三列到一个新文件。
【问题讨论】:
标签: bash process tabs delimited
我想使用 bash 来处理制表符分隔的文件。我只需要第二列和第三列到一个新文件。
【问题讨论】:
标签: bash process tabs delimited
cut(1) 是专门为此目的而制作的:
cut -f 2-3 input.txt > output.txt
【讨论】:
剪切可能是这里最好的选择,其次是awk
awk -F"\t" '{print $2 "\t" $3}' input > out
【讨论】:
awk 在您想要更改列的顺序时特别方便。 cut 不能那样做!
扩展 carl-norum 的答案,仅使用制表符作为分隔符,而不是所有空格:
cut -d$'\t' -f 2-3 input.txt > output.txt
d 和 $ 之间不要加空格
【讨论】: