如何在文件中找到最低值的位置?

时间:2017-05-26 23:22:11

标签: linux bash pipe

如何输出内部最低值的行的位置?

我有一个包含以下数据的文件:

2233|charles harris  |g.m.     |sales     |12/12/52| 90000
9876|bill johnson    |director |production|03/12/50|130000
5678|robert dylan    |d.g.m.   |marketing |04/19/43| 85000
2365|john woodcock   |director |personnel |05/11/47|120000
5423|barry wood      |chairman |admin     |08/30/56|160000
1006|gordon lightfoot|director |sales     |09/03/38|140000

我需要找到最后一列的最低值并返回其位置

1 个答案:

答案 0 :(得分:1)

您可以使用此命令仅获取显示值的行号(如果值出现多次,则会给出多个行号):

var=$(cut -d "|" -f 6 filename|sort -nr|tail -n1|grep -w -n -f /dev/stdin filename|awk -F ":" '{print $1}');cut -d "|" -f 6 filename |grep -w -n $var filename|awk -F ":" '{print $1}'

为了查看具有最低值的行及其行号,请使用以下命令:

var=$(cut -d "|" -f 6 filename|sort -nr|tail -n1|grep -w -n -f /dev/stdin filename|awk -F ":" '{print $1}');cut -d "|" -f 6 filename |grep -w -n $var filename