naw*_*ita 4 sorting awk multiple-columns
在awk中,我该怎么做:
输入:
1 a f 1 12 v
2 b g 2 10 w
3 c h 3 19 x
4 d i 4 15 y
5 e j 5 11 z
Run Code Online (Sandbox Code Playgroud)
期望的输出,通过在$5以下位置排序数值:
1 a f 2 10 w
2 b g 5 11 z
3 c h 1 12 v
4 d i 4 15 y
5 e j 3 19 x
Run Code Online (Sandbox Code Playgroud)
请注意,排序应仅影响$4,$5和$6(基于值$5),表的前一部分保持不变.
小智 5
这可以通过以下方式在多个步骤中完成paste:
$ gawk '{print $1, $2, $3}' in.txt > a.txt
$ gawk '{print $4, $5, $6}' in.txt | sort -k 2 -n b.txt > b.txt
$ paste -d' ' a.txt b.txt
1 a f 2 10 w
2 b g 5 11 z
3 c h 1 12 v
4 d i 4 15 y
5 e j 3 19 x
Run Code Online (Sandbox Code Playgroud)