Shell脚本:如何在文件txt

时间:2018-05-16 08:23:55

标签: shell

我有一个文件txt
例如:

11 23 4 9  
5 2 17 25   

,我想要的输出是:

2 4 5 9   
11 17 23 25

3 个答案:

答案 0 :(得分:0)

使用sort -un对文件中的数字进行排序:

tr ' ' '\n' < file.txt | sort -un | tr '\n' ' '

答案 1 :(得分:0)

$ tr -s ' ' '\n' <file | sort -n | paste -d ' ' - - - -
2 4 5 9
11 17 23 25

tr将所有空格更改为换行符,并从输入中删除多余的换行符。这会创建一个数字流,每行一个数字,然后以数字方式排序并粘贴到四个空格分隔的列中。

答案 2 :(得分:0)

这个gawk代码适用于动态列数:

awk '{for(x=1;x<=NF;x++)a[++i]=$x}
     END{asort(a,b)
     for(x=1;x<=i;x++)printf "%s%s",b[x],x%NF==0?RS:FS,b[x]}' file