アイテムを含むファイルをあちこちに分散させてください。例:
10.11.12.13 tiger adfa afinhhdddd tiger
10.11.12.13 tiger tiger 123
10.11.12.13 tiger abc
10.11.12.13 tiger abc
10.11.12.13 TIGER ABC
20.21.22.23 hola hola hola123 upside down
20.21.22.23 hola hola hola123 upside DOWN HOLA
20.21.22.23 hola hola hola123 upside down
最終出力は次のようになります。
10.11.12.13 tiger abc 123 adfa afinhhdddd
20.21.22.23 hola hola123 upside down
答え1
必要なのは、ソートには関係ありませんが、最初の列の値をキーとしてハッシュ(関連配列)を作成して、他の列の大文字と小文字の変換コピーをプッシュすることで達成できます。その後、削除 - コピーして印刷できます。 Perlを例に挙げましょう。
perl -MList::MoreUtils=uniq -alne '
push @{ $h{shift @F} }, map { lc $_ } @F if $_ =~ /\S/
}{
foreach $k (sort keys %h) {
print "$k\t", join " ", uniq @{ $h{$k} }
}
' file
前任者。 :
$ perl -MList::MoreUtils=uniq -alne '
push @{ $h{shift @F} }, map { lc $_ } @F if $_ =~ /\S/
}{
foreach $k (sort keys %h) {
print "$k\t", join " ", uniq @{ $h{$k} }
}
' file
10.11.12.13 tiger adfa afinhhdddd 123 abc
20.21.22.23 hola hola123 upside down
配列要素の出力を特定の順序で指定するには、その規則を指定する必要があります。