はじめに
こんにちは!今回はrevコマンドについて解説します。
revは、行の文字を逆順で表示するコマンドです。tacはファイルの行順を反転させるけど、revは行内の文字を反転させる感じ。「文字列を反転させたい」「テキストを逆向きにしたい」という時に活躍します。
使う頻度は少なめですが、テキスト加工やテスト、データ変換の時に意外と役立つコマンドですよ。
revコマンドとは
revは、ファイルの各行を文字単位で逆順に出力する外部コマンドです。“reverse"の略ですね。
各行の最後の文字が最初に表示され、最初の文字が最後に表示されます。つまり「各行を左右反転する」ようなイメージです。
基本構文
|
|
ファイル名を指定しないと標準入力から読み込みます。
主なオプション
| オプション | 説明 |
|---|---|
-h |
ヘルプを表示 |
-V |
バージョンを表示 |
revはシンプルで、オプションはほぼありません。
使用例
例1: 基本的な使い方
|
|
実行結果:
|
|
文字が逆順で表示されます。
例2: 複数行を逆順にする
|
|
実行結果:
|
|
各行が独立して逆順になります。
例3: ファイルを指定して処理
|
|
実行結果:
|
|
ファイルの各行を逆順に。
例4: パリンドローム判定
|
|
実行結果:
|
|
元の文字列と同じなら回文です。
例5: 数字を逆順に
|
|
実行結果:
|
|
数字列を反転させます。
例6: URLを逆順に
|
|
実行結果:
|
|
URLを文字単位で反転。
例7: CSVの各フィールドを逆順に
|
|
実行結果:
|
|
名前がすべて逆順になります。
例8: 複数ファイルを処理
|
|
実行結果:
|
|
複数ファイルを順番に処理。
例9: パイプで他のコマンドと組み合わせ
|
|
実行結果:
|
|
2回反転すると元に戻ります。
例10: 特定パターンの検出
|
|
実行結果:
|
|
反転後に検索することで新しいパターンマッチング。
Tips・注意点
tacとrevの違い
|
|
行の順序か、文字の順序かが異なります。
日本語との組み合わせ
|
|
出力:
|
|
日本語も文字単位で反転します。
回文判定スクリプト
|
|
元の文字列と反転後が同じなら回文です。
パフォーマンス
revは非常に軽量で、大きなファイルでも高速に処理できます。
|
|
実践的な使い方
ファイルの拡張子を逆順にして検出
|
|
拡張子パターンを新しい視点で分析。
秘密のメッセージエンコード
|
|
簡単な難読化(本当のセキュリティには使わないでください)。
テストデータの生成
|
|
テストケースを反転させたバージョンを生成。
ログファイルの文字列検索
|
|
反転後に検索して、結果を反転して確認。
まとめ
revコマンドのポイント:
- 各行の文字を左右反転する
- tacは行の順序を反転、revは文字を反転
- 回文判定やテキスト加工に使える
- オプションはほぼない(シンプル)
- 大容量ファイルでも高速処理
- 日本語を含むテキストにも対応
- よく使う組み合わせ:
rev file.txt,echo text | rev
使う頻度は少なめですが、テキスト加工やテスト、ちょっとしたパズルを解く時に活躍する隠れた便利コマンドですよ!