例如,我跟随.csv分隔的.csv 我需要交换2列和/或删除一些。
col1row1; col2row1; col3row1
col1row2; col2row2; col3row2
col1row3; col2row3; col3row3
...
列号不固定,我需要交换的列可以不同。
我使用了 awk'BEGIN {FS =“;”; OFS =“;”} {print $ 3,$ 1}',但如果其中一个交换列是最后一个像< BR />
col3row1
; col1row1
col3row2
; col1row2
col3row3
; col1row3
...
或像 {print $ 2,$ 1,$ 3}
的空格 col2row1; col1row1; col3row1
col2row2; col1row2; col3row2
col2row3; col1row3; col3row3
...
答案 0 :(得分:1)
您的输入文件包含control-Ms。运行dos2unix
或类似内容将其删除。
答案 1 :(得分:0)
awk -F ";" '{printf("%s;%s;%s\n", $2, $1, $3)}'
编辑:或者使用sed:
sed -r 's/^([^;]*);([^;]*);([^;]*)/\3;\2;\1/'