我有一个包含3列的文件
Col1 Col2 Col3
A B <-
C D ->
E F ->
只要有
,我想交换Col1和Col2的条目<-
在第三栏。我希望我的输出文件像
Col1 Col2 Col3
B A ->
C D ->
E F ->
答案 0 :(得分:0)
简短的awk示例是
cat foooo | awk '{if (match($3,"<-")){print $2,$1,$3}else{print $1,$2,$3}}'
其中foooo是文件名。
如果您还想更改“&lt; - ”,则代码将为
cat foooo | awk '{if (match($3,"<-")){print $2,$1,"->"}else{print $1,$2,$3}}'
答案 1 :(得分:0)
awk '($3=="<-"){$3=$2;$2=$1;$1=$3;$3="->"}1' <file>
基本上,如果$3=="<-"
,则交换列并重新定义$3
。然后打印。