UNIX:使用 CUT 的文本处理问题

UNIX : TEXT PROCESSING ISSUE USING CUT

我有一个 CSV 文件“1.txt”,字段为

#1.txt
Name,Activity,Address,URL,Number,Company

我想采用

格式
#2.txt
Name,URL,Address,Activity,Number,Company

我试过使用 cut

cut -d, -f1,4,3,2,5,6 1.txt > 2.txt

输出 ( 2.txt ) 与输入相同。

有人可以帮我解决这个问题吗?由于文件太大(500000 行)无法在 sheets/excel 中处理。

根据 cut 联机帮助页,所选输入的写入顺序与读取顺序相同。所以你必须改用 awk:

awk -v FS=, -v OFS=, '{print ,,,,,}' < 1.txt > 2.txt

没有必要对每个字段编号进行硬编码,只需交换您关心的 2 个字段:

$ awk 'BEGIN{FS=OFS=","} {t=;=;=t} 1' file
Name,URL,Address,Activity,Number,Company