假设文件如下:
a|b|c|d
a|b|c|d
...
a|b|c|d
如何转置两个字段,例如:
c|b|a|d
c|b|a|d
...
c|b|a|d
提前致谢!
答案 0 :(得分:4)
这是另一种解决方案:交换第一个和第三个字段,然后打印:
awk -F '|' '{ temp=$1; $1=$3; $3=temp; print }' data.txt
答案 1 :(得分:2)
至少如果内存服务,这个一般顺序的东西应该起作用:
BEGIN { FS="|"; }
{ printf("%s|%s|%s|%s\n", $3, $2, $1, $4); }
答案 2 :(得分:2)
awk -F\| '{print $3FS$2FS$1FS$4}' input.csv
FS代表Field Separator你可以把它改成$ 3“”$ 2“”等等。如果它更容易