2016年11月23日水曜日

<Linux>uniqコマンドでソートする理由

最近、無知無能を実感します。$ cat file | sort | uniq ってしょっちゅう実行してたけど、なんでsortが必要か理解していなかった。
sortする必要性があるのは、uniqコマンドは隣接行しか確認しないからですね。sortしないと重複行が消えない。

man uniqの結果をベタ貼り

The uniq utility reads the specified input_file comparing adjacent lines, 
and writes a copy of each unique input line to the output_file.  

和訳してみた

uniqコマンドは隣接行を比較しつつ入力ファイルを読み込み、ユニークな入力行のコピーを出力ファイルに書き込みます。

標準出力なども、shellがuniqを実行して、ファイルをOSに渡して出力させているってことなのかな。
いつも「~コマンドを叩くと標準出力に..が出る」みたいな言い方をしてしまうけど、正確に言うと
「ターミナル→shell→OS→スクリーン」ですかね。

0 件のコメント:

コメントを投稿