根据某些条件交换列

时间:2014-12-29 05:22:10

标签: awk

我有一个包含5列的文本文件。如果第5列的编号小于第3列,则将第4列和第5列替换为第2列和第3列。如果第5列的编号大于第3列,则将该行保留为相同。

1EAD    A   396 B   311
1F3B    A   118 B   171
1F5V    A   179 B   171
1G73    A   162 C   121
1BS0    E   138 G   230

期望的输出

1EAD    B   311 A   396
1F3B    A   118 B   171
1F5V    B   171 A   179
1G73    C   121 A   162
1BS0    E   138 G   230

1 个答案:

答案 0 :(得分:0)

$ awk '{ if ($5 >= $3) print $0; else print $1"\t"$4"\t"$5"\t"$2"\t"$3; }' foo.txt