次の内容のUNIXファイルがあります。
$cat myfile.txt
abc:1
abc:2
hello:3
hello:6
wonderful:1
hai:2
hai:4
hai:8
上記のファイルの各テキストに指定された最大値を取得するにはどうすればよいですか。
'abc' 値 2 'hello' 値 6 'hai' 値 8 'womderful' 1
次の内容のUNIXファイルがあります。
$cat myfile.txt
abc:1
abc:2
hello:3
hello:6
wonderful:1
hai:2
hai:4
hai:8
上記のファイルの各テキストに指定された最大値を取得するにはどうすればよいですか。
'abc' 値 2 'hello' 値 6 'hai' 値 8 'womderful' 1
質問の現在の例に基づいて、予想される出力の最初の行を差し引いたもの:
awk -F':' '{arr[$1]=$2 ; next} END {for (i in arr) {print i, arr[i]} } ' inputfile
あなたの入力例と予想される出力は非常に混乱しています....私がこれを投稿した理由は、今後のOPからフィードバックを得るためです
これは、データがソートされていないことを前提としていますが、ソートされたデータでも機能します (新規):
sort -t: -k2n inputfile | awk -F':' '{arr[$1]=$2 ; next} END {for (i in arr) {print i, arr[i]} } '