Sort コマンドは文字列出力を変更します。

Sort コマンドは文字列出力を変更します。

sort コマンドに関連する例外が偶然に見つかりましたが、なぜこれが起こるのか説明が見つかりませんでした。

次のコマンドを実行します。

cat ~/.bash_history | uniq -c | sort -h -r | head

システムで実行された最も一般的な10個のコマンドシーケンスを出力するようになっていますが、代わりに失敗し、出力がまるで一度に実行したように見えます。

しかし、実行するとき:

cat ~/.bash_history | sort | uniq -c | sort -h -r | head

うまくいくようですが、理由を理解できません。誰かが説明できますか?

ベストアンサー1

uniqフィルタのみ近いワイヤー。次のようなファイルがあるとしましょう。

$ cat foobar.txt
foo
bar
foo

隣接していない2本の線がありますfoo。次に、各ファイルはuniq -c一度計算され、ファイルを最初にソートすることは、そのファイルを隣接するものとしてuniq -c扱い、2回現れる行として計算することを意味します。

$ uniq -c foobar.txt
  1 foo
  1 bar
  1 foo
$ sort foobar.txt | uniq -c
  1 bar
  2 foo

おすすめ記事