我有一个排序如下的文件:
2 Good
2 Hello
3 Goodbye
3 Begin
3 Yes
3 No我想搜索文件中的最高值,并显示一行是什么?
3 Goodbye
3 begin
3 Yes
3 No我该怎么做?
发布于 2016-10-19 19:35:16
cat file.txt \排序-r _ awk '{if ($1>=prev) {print $0;prev=$1}}‘
3 Yes
3 No
3 Goodbye
3 Begin假设file.txt包含
2 Good
2 Hello
3 Goodbye
3 Begin
3 Yes
3 No发布于 2016-10-19 19:30:07
awk去营救!
$ awk 'FNR==NR{if(max<$1) max=$1; next} $1==max' file{,}
3 Goodbye
3 Begin
3 Yes
3 No双通过,找到最大值,然后过滤掉其余的。
发布于 2016-10-19 18:59:09
首先将文件中的最高值放入变量中。考虑到文件已经排序,请取文件中的最后一行。然后使用awk解析出数字。
highest=`tail -1 file.list|awk '{print $1}'`然后使用该值对文件进行grep。
grep "^${highest} " file.listhttps://stackoverflow.com/questions/40139388
复制相似问题