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
我有一个 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