这是我要排序的文件内容(只是一个简化示例):
1 33 blabla_0_banana
2 32333 lablab_4_apple
3 1232312 hahaah_1_banana
4 3342222 ohohoh_2_apple
我想用两个要求对结果进行排序:
首先是结束词(例如:banana \ apple)
其次是两个“_”符号之间的数字:_ [number] _(例如:0 \ 4 \ 1 \ 2)
这是我想要的结果:
4 3342222 ohohoh_2_apple
2 32333 lablab_4_apple
1 33 blabla_0_banana
3 1232312 hahaah_1_banana
最后,我想删除第二个数字> 100000的行,这也是我想要的结果:
2 32333 lablab_4_apple
1 33 blabla_0_banana
我该怎么做?也许使用命令'sort','awk'或其他。
答案 0 :(得分:3)
使用sort
:
sort -t_ -k3 -k2n file
4 3342222 ohohoh_2_apple
2 32333 lablab_4_apple
1 33 blabla_0_banana
3 1232312 hahaah_1_banana
仅保留2nd column < 100000
使用awk
的行:
awk '$2<100000' file | sort -t_ -k3 -k2n
2 32333 lablab_4_apple
1 33 blabla_0_banana