【发布时间】:2015-08-19 05:42:06
【问题描述】:
我想重新排列 txt 文件的列,但是有空值,这会导致问题。例如:
测试文件:
Name ID Count Date Other
A 1 10 513 x
6 15 312 x
3 18 314 x
B 19 31 942 x
8 29 722 x
当我尝试$ more testfile |awk '{print $2"\t"$1"\t"$3"\t"$4"\t"$5}'
它变成:
ID Name Count Date Other
1 A 10 513 x
15 6 312 x
18 3 314 x
19 B 31 942 x
29 8 722 x
这不是我想要的,请帮忙,我想要它
ID Name Count Date Other
1 A 10 513 x
15 6 312 x
18 3 314 x
19 B 31 942 x
29 8 722 x
另外我不确定哪些列可能包含空值,并且列长不固定,谢谢
【问题讨论】:
-
输入文件是否已经被制表符分隔?试试
awk -F'\t' ...看看它能做什么。还要发布您想要的输出,而不仅仅是您不想要的输出。如果输入文件不是制表符分隔的,那么最好的解决方案是带有FIELDWIDTHS的 GNU awk - 你有 GNU awk(awk --version会告诉你)吗? -
@EdMorton,是的,我的文件是制表符分隔的
标签: linux awk sed multiple-columns