行で一意のソートを実行する方法を提案できますか?私は次の情報を持っています:
Special c1,c2,c5,c7,c1,c2
Special2 C6
Special
(これはとの間のタブ文字ですc1...
。)
私は次の出力が欲しい:
Special c1,c2,c5,c7
Special2 C6
どうすればいいですか?
ベストアンサー1
使用この回答、
perl -MList::MoreUtils=uniq -laF'\t' -ne '
$F[1] = join(",", uniq(sort(split(",", $F[1])))); print join("\t", @F)'
外部パッケージによって異なります。リスト::追加ユーティリティ。外部依存関係をインストールしたくない場合は、uniq
機能を再実装することをお勧めします。Perlコード数行。 (macOSベースシステムの一部としてインストールされているようですが)