我想在Solaris unix上更改下面csv中的列顺序。原样:
cat mytest.csv
NAME,22015731,Fri Sep 01 05:30:21 2017,Fri Sep 01 05:45:26 2017
所需:
cat mytest.csv
NAME,Fri Sep 01 05:30:21 2017,Fri Sep 01 05:45:26 2017,22015731
如何做到这一点?
如果可能的话,我该如何为当前目录中的多个文件执行此操作?
谢谢!
答案 0 :(得分:2)
awk -F,' {print $ 1"," $ 3"," $ 4"," $ 2}' mytest.cvs
应该有效。这是基本的unix。 -F选项允许您选择行中字段的分隔符。
答案 1 :(得分:0)
awk '{print $1,$3,$4,$2}' FS=, OFS=, mytest.csv > tmp; mv tmp mytest.csv
要处理多个文件,请编写一个循环:
for file in $(generate-list-of-files): do
...
done