重複を逆の順序で削除したいコマンドから stdout を取得しました。
つまり、重複した行を最後ではなく最初から削除したいのです。たとえば、最後から剥がすには、古典的なテクニックを次のように使用しawk
ます。
awk '!a[$0]++'
見事ですが、間違った行を取り除きます。
$ printf 'one\nfour\ntwo\nthree\nfour\n' | awk '!a[$0]++'
one
four
two
three
four
印刷の最後の出現が欲しい
$ printf 'one\nfour\ntwo\nthree\nfour\n' | <script>
one
two
three
four
どうすればいいですか?シェルでワンライナーを使用する簡単な方法はありますか?