コマンド
rev
ファイル・文字列の 1行を逆順にする
rev コマンドは、ファイルや文字列に含まれる 1行の内容を逆順にするコマンドである。
% echo abcde | rev
edcba
→ 標準入力の内容を逆順に。
% cat file.txt
12345
67890
% rev < file.txt
54321
09876
→ ファイルからの例。ファイルの行自体の順序が変わるわけではない。
なんの役に立つのかと思ってしまうコマンドだが、役に立つときは役にたつ。sort コマンドと組み合わせることで、末尾からのソートができる。
●ドメイン名のソート
下記のようなドメイン名のリストがあるとする。
www1.example.com
www-a.example-b.com
www1.example.net
www-b.example-b.com
www2.example.com
www2.example.net
これを見やすくしたいが、www1・www2 などのサブドメインではなく、example.com や example.net などのドメインでソートしたいとする。その場合、rev コマンドで逆順にし、ソートし、再度 rev コマンドで戻すとよい。
% cat foo.txt | rev | sort | rev
www-a.example-b.com
www-b.example-b.com
www1.example.com
www2.example.com
www1.example.net
www2.example.net
●ファイル名拡張子でのソート
下記のようにファイル名について rev + sort + rev することで、拡張子単位でまとめることができる。
% find . -type f | rev | sort |rev
./file1.c
./dir/file2.c
./dir2file3.c
./header1.h
./header2.h
./dir2/header3.h
./text1.txt
./text2.txt
./dir/text3.txr