行ごとにコンマで区切られた特定のフィールドから重複した項目を削除します。

行ごとにコンマで区切られた特定のフィールドから重複した項目を削除します。

だから私のファイル形式は、タブで区切られた列、列あたりcsvです。

        1 B,B,B,B  C,C,C,C  D,D,D,D

        2 A,A,A,A  B,B,B,B  E,E,E,E

各ファイルから重複項目を削除したいが、各重複項目行は独立して処理される1行ずつ処理されます。

したがって、出力は次のようになります

1 B C D
2 A B E 

ベストアンサー1

Perlでdistinct(別名)を使用するuniqリスト::追加ユーティリティ基準寸法

perl -MList::MoreUtils=distinct -alne '
  print join " ", map { join ",", distinct split "," } @F
' yourfile
1 B C D

2 A B E

タブ区切りの出力が必要な場合は、最初の出力をjoin " "次に変更します。join "\t"

おすすめ記事