Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting awk根据一个列排序,但必须打印所有列_Sorting_Awk_Sort - Fatal编程技术网

Sorting awk根据一个列排序,但必须打印所有列

Sorting awk根据一个列排序,但必须打印所有列,sorting,awk,sort,Sorting,Awk,Sort,我能找到任何方法也许有人能打开我的心扉 awk '{$3=cet print $0 }' < sort < awk '{cet=$3 }' file.txt 输出 1 00A0asd4426 18/10/2014 09:08:50 3 0asdasdsda3 25/10/2014 10:31:53 2 00A0Bsdfsdf No data found 为此,我认为您应该使用unix工具 例如,如果要按第二列作为数字进

我能找到任何方法也许有人能打开我的心扉

awk '{$3=cet print $0 }' < sort < awk '{cet=$3 }' file.txt
输出

  1 00A0asd4426         18/10/2014 09:08:50
  3 0asdasdsda3         25/10/2014 10:31:53 
  2 00A0Bsdfsdf         No data found

为此,我认为您应该使用unix工具

例如,如果要按第二列作为数字进行排序,可以使用:

sort -k2n inputfile
输入文件:

aaa 123 xxx
bbbxxx 1 yyy
xxxccc 0 zzz
ddd 15 xx
输出:

xxxccc 0 zzz
bbbxxx 1 yyy
xxxccc 1 aaa
ddd 15 xx
aaa 123 xxx
xxxccc 0 aaa
xxxccc 0 zzz
bbbxxx 1 yyy
aaa 123 xxx
ddd 15 xx
也可以使用字符串比较:

sort -k2 inputfile
输出:

xxxccc 0 zzz
bbbxxx 1 yyy
xxxccc 1 aaa
ddd 15 xx
aaa 123 xxx
xxxccc 0 aaa
xxxccc 0 zzz
bbbxxx 1 yyy
aaa 123 xxx
ddd 15 xx
使用-t可以设置分隔符。默认值为空白。使用-s可以进行稳定排序。还有更多的可能性。读书可能会有帮助


我希望这有帮助

实现这一点的规范方法是使用sort-k:

测试:

$ sort -k2 l
c b 3
b c 2
a d 1

如果您处理数字,-t DEL whete DEL默认为您自己的分隔符空间,请使用-n开关

最好添加示例输入/输出。我们不知道它是浮点数、整数、字符串……还有,检查排序的-t和-k选项