awkを使用して特定の列値に基づいて一意の行を印刷する方法は? [閉鎖]

awkを使用して特定の列値に基づいて一意の行を印刷する方法は? [閉鎖]

複数のフィールドを含むカンマ区切りのファイルがあります。

例:

candidate1,12,56,ATTG
candidate2,45,90,ATTG
candidate3,90,140,ATTG
candidate4,2,36,AGCT

それでは、答えを知っている人はいますか?

ベストアンサー1

candidate1列1などに基づいて一意の行を印刷する必要があるとしますcandidate2。これにより、行candidate1などの最初のインスタンスが印刷されます。列2に基づいて行のみを印刷するには、次の$1ように変更します。$2

awk -F, '!($1 in arr){print} {arr[$1]++}' file_name

おすすめ記事