次のようにタブ区切りのCSVファイルがあります。
C1 C2
A 3
B 4
C 5
B 4
A 3
列1から重複を削除し、最初のすべての値に対して列2の値を出力するにはどうすればよいですか?出力例:
3
4
5
awk -F '\t' '{print $1}' file_name.csv | sort | uniq -c
最初の列のデータを並べ替え、重複項目を「削除」しようとしましたが、2番目の列は削除されます。私はシェルスクリプトの初心者なので、助けてくれてありがとう。
ベストアンサー1
awk -F '\t' 'NR>1 && !seen[$1]++{print $2}' file_name.csv
NR>1
最初の行が偽の場合はスキップします。!seen[$1]++
たった1つ(または本物)最初に解析された最初のフィールド値に対して(繰り返しゼロと評価されるか、間違った)。print $2
両方の条件が満たされると、2番目のフィールドが印刷されます。