我有如下文件
1 rob hr 10000
2 charls it 20000
4 kk Fin 30000
5 km it 30000
6 kl it 30000
7 mark hr 10000
8 kc it 30000
9 dc fin 40000
10 mn hr 40000
3 abi it 20000其中第4rth列在第2栏中包含了个人的工资,我想获得第二高工资的所有记录(或第n最高工资一般)。样本输出:
4 kk Fin 30000
5 km it 30000
8 kc it 30000
6 kl it 30000我试过这样做:
sort -k4,4 employee.txt | awk 'NR==1{a=$4;next}{if($4>a){print $0 ;exit} else next;}' | a=`awk '{ print $4}'` | awk -v b=$a '$4==b' < cat employee.txt但这并没有提供任何产出。有什么明智的建议吗?
发布于 2017-03-03 18:16:00
awk去营救!
sort -k4nr file |
awk '!($4 in a){c++; a[$4]} c==2'
4 kk Fin 30000
5 km it 30000
6 kl it 30000
8 kc it 30000发布于 2022-04-26 10:33:57
对于最高的薪水,你可以简单地使用
sort text.txt | awk '!($4 in a){c++; a[$4]} c==2'https://stackoverflow.com/questions/42585650
复制相似问题