この前、カレント・フォルダーにあるファイルで一番行数の多いファイルは何か? という話が出て、その場で書いたワンライナー。
$ wc -l * | sort -n -r | head -10
wc に -l オプションを付けて、行数をカウント。
そのままじゃ、ファイル名順に並ぶので sort コマンド。-n オプションで行数を文字列じゃなく、数字として扱わせて、-r オプションで多い順にする。
最後に head コマンドで最初の 10 行を取り出した。
この方法だと、wc が出力した全てのファイルの「トータル行数」が一番上に出る。ああ、そうか。すると、トップ 9 になっちゃう。トップ 10 を出すなら、head の引数を 11 にしなくちゃいけない。
もしくは、tail コマンドを使って、一番上の行を削るかな。
$ wc -l * | sort -n -r | tail -n +2 | head -10
ワンライナー。サクッと書けるようになると楽しい。
No comments:
Post a Comment