我正在使用 AWK,我一直在嘗試將列中的前一個值與下一個值進行比較,直到找到最高值,但我無法做到。
awk '$6 >= $6 {print $6}'
有了上面,它回傳給我每一個值
例如:
money:
49
90
30
900
我希望它回傳 900
uj5u.com熱心網友回復:
$ awk '(NR>1) && ((NR==2) || ($1>max)){max=$1} END{if (max != "") print max}' file
900
以上基于您發布的示例(包括money:標題行),但即使所有輸入值均為0負數或輸入檔案為空,也可以使用。如果您感興趣的真實欄位編號為 6,請更改$1為。$6
還要考慮:
$ tail -n 2 file | cut -f1 | sort -rn | head -1
900
并更改-f1為-f6.
如有必要,在 awk 中設定分隔符并使用-F'<char>'和剪切。-d'<char>'
uj5u.com熱心網友回復:
像這樣:
awk 'int($6) && $6 > n{n=$6}END{print n}' file
uj5u.com熱心網友回復:
假設列由默認(空白)分隔符分隔,下面的 awk 行檢查每個資料行中的第 6 個值,以查看它是否大于任何先前看到的值(current在BEGIN塊中設定為零,每次更新遇到更大的第 6 個值)。該END塊列印保存的最終值current(這是第 6 個欄位的最大值)"
awk 'BEGIN {current=0} NR>1{if ($6>current) current=$6} END {print current}' dataFile.txt
對于.csv資料,檔案分隔符可以定義為塊FS=","中的逗號BEGIN:
awk 'BEGIN {FS=","; current=0} NR>1{if ($6>current) current=$6} END {print current}' dataFile.csv
uj5u.com熱心網友回復:
$ awk 'NR==2 {max=$6}
$6>max {max=$6}
END {print max}' file
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/485032.html
上一篇:如何等待shell腳本完成?
