UNIX/Linuxの部屋 revコマンドの使い方

TOP UNIX/Linuxの部屋 UNIX/Linuxコマンド一覧 用語集 新版 由来/読み方辞書 環境変数マニュアル Cシェル変数 システム設定ファイル システムコール・ライブラリ ネットワークプログラミングの基礎知識 クラウドサービス徹底比較・徹底解説




コマンド 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
>> FreeBSDオンラインマニュアル(man) FreeBSD rev(1)
>> Linuxオンラインマニュアル(man) Linux rev(1)