最初の列の重複を排除し、2番目の列の値を出力するにはどうすればよいですか?

最初の列の重複を排除し、2番目の列の値を出力するにはどうすればよいですか?

次のようにタブ区切りの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番目のフィールドが印刷されます。

おすすめ記事