我有一個排序類似如下的文件:如何使用awk列出特定行?
2 Good
2 Hello
3 Goodbye
3 Begin
3 Yes
3 No
我想在文件中搜索最高值,顯示的是一個行?
3 Goodbye
3 begin
3 Yes
3 No
我該怎麼做?
我有一個排序類似如下的文件:如何使用awk列出特定行?
2 Good
2 Hello
3 Goodbye
3 Begin
3 Yes
3 No
我想在文件中搜索最高值,顯示的是一個行?
3 Goodbye
3 begin
3 Yes
3 No
我該怎麼做?
首先獲取文件中的最高值到變量中。考慮到文件已經被排序,拾取文件中的最後一行。然後用awk解析出數字。
highest=`tail -1 file.list|awk '{print $1}'`
然後使用該值grep文件。
grep "^${highest} " file.list
這比您想象的要容易。
awk '/^3/' file
3 Goodbye
3 Begin
3 Yes
3 No
awk
來救援!
$ awk 'FNR==NR{if(max<$1) max=$1; next} $1==max' file{,}
3 Goodbye
3 Begin
3 Yes
3 No
雙重通過,找到最大值並過濾掉其餘部分。
多少行,你期待? (100K與1K不一樣)是一個命令嗎?或可能將其包裝在腳本中? – nabeel