行から重複した数字を削除する方法は? [閉鎖]

行から重複した数字を削除する方法は? [閉鎖]

入力ファイル

1 2 3 1 4 5 6 1 1 2 34 5 6 2

私の考えでは出力このように

1 2 3 4 5 6 34 

(繰り返される数字はすべて一度だけ印刷されます)

ベストアンサー1

Perlが救出に来る!

perl -lane 'print join " ", grep ! $seen{$_}++, @F' < file
  • -l入力から改行文字を削除し、出力に追加します。
  • -n入力を1行ずつ処理
  • -aスペースの各入力を @F 配列に分割する

@F 配列は次のように繰り返されます。grep、最初に見た要素のみを保持します(つまり、ゼロの否定が真であるため、%seenハッシュの対応する値は0です)。参加するちょうどもう一度貼ってください。

おすすめ記事