2017-09-28 24 views
0

Solaris unixでは、以下のcsvでカラムの順序を変更したいと考えています。あるとおり: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 

がどのように行われなければ、これは可能ですか?

可能であれば、どのように私は現在のディレクトリ内の複数のファイルに対して行うことができますか?

ありがとうございました!

答えて

2

AWKの-F、 '{ "" ""、" $ 2 $ 4 $ 3 $ 1" 印刷}' mytest.cvs

動作するはずです。これは基本的なunixです。 -Fオプションを使用すると、行内のフィールドの区切り文字を選択できます。ループを書き、複数のファイルで作業する

+0

これはコンマのすべてを削除し、コンマで区切られていない出力を離れます。 –

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 
関連する問題