Linux の
rev
コマンドは、テキスト文字列を反転します。このコマンドは、指定されたテキストまたはファイルを操作でき、一見単純そうに見えます。ただし、多くのコマンド ライン ユーティリティと同様に、その真の威力は、他のコマンドと組み合わせたときに明らかになります。
rev
コマンドは、一見すると奇妙に見えるシンプルな Linux ユーティリティの 1 つです。これは文字列を反転するという 1 つの機能を実行します。簡単なヘルプ ページを印刷できることとは別に (
-h
) そしてそのバージョン番号を表示します (
-V
)、 コマンドライン オプションは 受け入れられません。
rev
文字列を反転します。それだけでしょうか?バリエーションやオプションはありませんか?まあ、はい、いいえです。はい、順列はありませんが、いいえ、それだけではありません。このチュートリアルでは、これを組み合わせて強力な操作を行う方法を説明します。
より複雑なコマンド シーケンスの構成要素として
rev
使用すると、その価値が真に発揮され始めます。
rev
コマンドのグループの 1 つです (例:
tac
yes
)ファシリテーターです。他のコマンドの使用がどのように効率化されるかを理解すると、その有用性を理解しやすくなります。
rev コマンドの使用
他のパラメーターを指定せずにコマンド ラインで使用すると、
rev
入力された入力を受け取り、それを反転して、ターミナル ウィンドウに出力します。 Ctrl+C を押して終了するまで、これが繰り返されます。
回転数
テキストを入力して Enter キーを押すと、
rev
はその文字列を逆に出力します。もちろん、
回文
を指定した場合は別です。
テキストをrevに渡す
echo
使用してテキストを
rev
にパイプすることができます。
エコー ワン ツー スリー |回転数
rev
を使用して、テキスト ファイル全体の内容を 1 行ずつ反転することもできます。この例では、ファイル名のリストを含むファイルがあります。ファイルの名前は「filelist.txt」です。
改訂ファイルリスト.txt
ファイルから各行が読み取られ、反転されてから端末ウィンドウに出力されます。
rev と他のコマンドの組み合わせ
以下は、
rev
を 2 回呼び出す入力のパイプを使用した例です。
このコマンドは、テキスト文字列から最後の文字を削除します。これは句読点を削除するのに便利です。
文字を削除する
には、
cut
コマンドを使用する必要があります。
echo '句読点を削除します。' |回転 |カット -c 2- |回転数
それを詳しく見てみましょう。
-
echo、revへの最初の呼び出しに文字列を送信します。 -
rev文字列を反転し、パイプでcutに渡します。 -
-c(characters) オプションは、cut文字列から一連の文字を返すように指示します。 -
2-オプションはcut、文字 2 から行末までの文字の範囲を返すように指示します。2-5などの 2 番目の数値が指定された場合、範囲は文字 2 から 5 になります。 2 番目の数字がない場合は、「文字列の最後まで」を意味します。 -
反転された文字列 (最初の文字を除く) が
revに渡され、文字列が反転され、元の順序に戻ります。
反転した文字列の最初の文字を切り取ったため、元の文字列の最後の文字も切り取られました。はい、
sed
または
awk
を使用してこれを行うこともできますが、これはより簡単な構文です。
最後の単語を区切る
同様のトリックを使用して、行の最後の単語を返すことができます。
このコマンドは最後のコマンドと似ていますが、ここでも
rev
2 回使用します。違いは、テキストの一部を選択するために
cut
コマンドを使用する方法にあります。
echo '最後の単語を区切る' |回転 |カット -d' ' -f1 |回転数
コマンドの内訳は次のとおりです。
-
echo、revへの最初の呼び出しに文字列を送信します。 -
rev文字列を反転し、パイプでcutに渡します。 -
-d' '(区切り文字) オプションは、スペースで区切られた一連の文字を返すようにcut指示します。 -
-f1オプションは、区切り文字を含まない文字列の最初のセクションを返すようにcut指示します。つまり、文の最初の部分から最初のスペースまでです。 -
反転された最初の単語は
revに渡され、文字列が反転されるため、元の順序に戻ります。
反転した文字列の最初の単語を抽出したため、元の文字列の最後の単語を切り取りました。文の最後の単語は「word」で、それが印刷されています。
ファイルからコンテンツをトリミングする
ファイル名のリストを含むファイルがあり、ファイル名が引用符で囲まれているとします。ファイル名から引用符を削除したいと考えています。
ファイルを見てみましょう:
filelist.txt を減らす
ファイルの内容は、
less
に表示されます。
次のコマンドを使用して、各行の両端から句読点を削除できます。このコマンドは、
rev
と
cut
両方を 2 回使用します。
rev ファイルリスト.txt |カット -c 2- |回転 |カット -c 2-
ファイル名は引用符なしでリストされます。
コマンドは次のように分解されます。
-
revファイル内の行を反転し、それらをcutにパイプします。 -
-c(文字) オプションは、cutに各行から一連の文字を返すように指示します。 -
2-オプションはcut、文字 2 から各行の終わりまでの文字の範囲を返すように指示します。 -
最初の文字を除いた反転された文字列が
rev. -
rev文字列を逆にして、元の順序に戻します。それらは再度cutにパイプされます。 -
-c(文字) オプションは、cut各文字列から一連の文字を返すように指示します。 -
2-オプションはcut、文字 2 から各行の終わりまでの文字の範囲を返すように指示します。これは、各行の 1 番目の文字である先頭の引用符を「飛び越え」ます。
たくさんの配管
これは、現在のディレクトリ内のすべてのファイル拡張子の並べ替えられたリストを返すコマンドです。 5 つの異なる Linux コマンドを使用します。
ls |回転 |カット -d'。 -f1 |回転 |並べ替え |ユニークな
プロセスは簡単です。
-
ls現在のディレクトリ内のファイルを一覧表示します。これらはrevにパイプされます。 -
revファイル名を逆にして、それらをcutにパイプします。 -
cut区切り文字までの各ファイル名の最初の部分を返します。-d'.'cutにピリオド「.」を使用するように指示します。区切り文字として。反転されたファイル名の最初のピリオドまでの部分がファイル拡張子です。これらはrevにパイプされます。 -
rev、ファイル拡張子を元の順序に戻します。これらはパイプでsortに渡されます。 -
sortファイル拡張子をソートし、結果をuniqにパイプします。 -
uniq、一意のファイル拡張子の種類ごとに 1 つのリストを返します。ファイル拡張子がない場合 (makefile、ディレクトリ Help および gc_help など)、ファイル名全体がリストされることに注意してください。
最後の仕上げとして、
-c
(count) コマンドライン オプションを
uniq
コマンドに追加します。
ls |回転 |カット -d'。 -f1 |回転 |並べ替え |ユニーク -c
現在のディレクトリ内のさまざまなファイル タイプのソートされたリストと、それぞれの数が取得されます。
なかなか気の利いたワンライナーですね!
drawroF og otdrawkcaB gnioG
前進するためには後退しなければならないこともあります。そして、あなたは通常、チームの一員として最速で前に進みます。
頼りになるコマンドのレパートリーに
rev
を追加すると、複雑なコマンド シーケンスを簡素化するためにすぐに使用できるようになります。
関連: 開発者と愛好家のための最高の Linux ラップトップ





