\r\n\r\n

linuxでのrevコマンドの使い方

linuxのrevコマンドは文字列を反転させるコマンドです。このコマンドは、供給されたテキストとファイルの両方に対して操作することができ、一見すると使い方は簡単である。しかし、多くのコマンドラインユーティリティと同様に、他のコマンドと組み合わせて使用することでその真価が発揮されます...。

Linuxのrevコマンドは、テキスト文字列を反転させるコマンドです。このコマンドは、供給されたテキストとファイルの両方に対して操作することができ、一見単純に見えます。しかし、多くのコマンドラインユーティリティと同様に、他のコマンドと組み合わせて使用することでその真価が発揮されます。

revコマンドは、一見すると少し奇妙に見える、Linuxのシンプルなユーティリティの1つである。その機能はただ一つ、文字列を反転させることです。クイックヘルプの表示(-h)とバージョン番号の表示(-V)を除いて、コマンドラインオプションは受け付けません。

では、文字列を反転させるレヴューは、これで終わりですか?変化やオプションはない?まあ、そうですね、違いますね。たしかに整列しないが、いや、それだけではない。このチュートリアルでは、それらを組み合わせて強力な操作を行う方法を紹介します。

revは、tacやyesのようなファシリテーターとして機能するコマンド群の一つであり、より複雑なコマンドシーケンスでrevをビルディングブロックとして使用するときにその真価を発揮する。他のコマンドとの併用でより効果的に使えることがわかると、その便利さが理解しやすくなります。

revコマンドを使用する

コマンドラインから他の引数なしで使用すると、rev は入力された任意の入力を受け取り、それを反転して端末ウィンドウに表示します。Ctrl+Cキーを押して終了するまで、この動作を続けます。

rev

文字列を入力してEnterキーを押すと、回文を入力しない限り、REVはその文字列を逆に印刷します。

revにテキストを渡す

テキストはechoを使ってレヴにパイプすることができます。

echo one two three | rev

また、revを使うと、テキストファイル全体の内容を一行ずつ反転させることができます。この例では、ファイル名のリストを含むファイルを用意しています。ファイル名は "file-list.txt "です。

rev filelist.txt

各行はファイルから読み込まれ、反転された後、端末ウィンドウに出力されます。

revは他のコマンドと組み合わせて使用する

以下は、revを2回呼び出す入力パイプラインの例である。

このコマンドは、文字列から最後の文字を削除します。このコマンドは、句読点を削除するのに役立つかもしれません。

echo 'Remove punctuation.' | rev | cut -c 2- | rev

少し分解してみましょう。

  • echo は rev の最初の呼び出しに文字列を送ります。
  • はロープを逆回しにしてカットする**。
  • c (文字) オプションは、cut が文字列から一連の文字を返すように指示します。
  • 2オプションを指定すると、cutは2文字目から行末までの範囲を返すように指示します。2 番目の番号、例えば 2-5 が指定された場合、2 文字から 5 文字までの範囲となる。2桁目がないのは、"文字列の最後尾まで "という意味です
  • 反転した文字列は、その最初の文字を引いてから rev に渡され、 rev は文字列が元の順序に戻るように反転させる。

反転した文字列の最初の文字を削除しているので、元の文字列の最後の文字も削除しています。確かにsedやawkでもできますが、この方がずっとシンプルな構文です。

最後の一言を切り離す

同様の手法で、行の最後の単語を返すことができる。

このコマンドは、前のコマンドと似ています:revは再び2回使用されます。違いは、テキストの一部を選択するためにcutコマンドを使用する方法であることです。

echo 'Separate the last word' | rev | cut -d' ' -f1 | rev

注文の内訳は次のとおりです。

  • echo は rev の最初の呼び出しに文字列を送ります。
  • はロープを逆回しにしてカットする**。
  • d"" (separator) オプションは、スペースで区切られた文字列を返すようにカットするためのものです。
  • f1オプションはcutにセパレータを除いた文字列の最初の部分を返すように指示します。つまり、文の最初の部分から最初のスペースまでを返します。
  • 反転後の最初の単語はrevに渡され、revは文字列を反転させ、元の順序に戻るようにする。

逆文字列の最初の単語を抽出したため、元の文字列の最後の単語を削除しています。文の最後の単語は "word "であり、それをプリントアウトしてくれている。

ドキュメントからのコンテンツのトリミング

逆カンマで囲まれたファイル名のリストを含むファイルがあり、ファイル名から逆カンマを削除したいとします。

資料を見てみましょう。

less filelist.txt

ドキュメントの内容を短時間で見せてくれる。

各行の末尾にある句読点を削除するには、revとcutを2回ずつ使った次のコマンドを使います。

rev filelist.txt | cut -c 2- | rev | cut -c 2-

は、コンマを反転させないファイル名のリストです。

コマンドは以下のとおりです。

  • revは、ファイル内の行を反転してcutに取り込みます。
  • c (文字) オプションは、cut が各行から一連の文字を返すように指示します。
  • 2オプションは、cutが各行の2文字目から末尾までの範囲を返すように指示します。
  • 反転した文字列から先頭の文字を除いたものがrevに渡される。
  • revは文字列を反転させ、元の順番に戻す。このとき、文字列は2回目に切り出しにパイプで送られる。
  • c (文字) オプションは、cut が各文字列から一連の文字を返すように指示します。
  • 2オプションを指定すると、cutは2文字目から各行の終わりまでの範囲を返すようになります。これは、先頭の引用符を「飛ばす」、つまり1行に1文字ということです。

多くのパイプ

次のコマンドは、カレントディレクトリにあるすべてのファイル拡張子をソートしたリストを返します。

ls | rev | cut -d'.' -f1 | rev | sort | uniq

やり方は簡単です。

  • ls は,カレントディレクトリにあるファイルを一覧表示し,それらを rev に送ります.
  • revはファイル名を反転させてcutに取り込みます。
  • cut は、各ファイル名の先頭部分をセパレータで返します。-d"."はピリオド". "を使用するように指示します。をセパレータとして使用します。最初のピリオドの前のファイル名の逆部分は、ファイルの拡張子です。これらはレヴに供給される。
  • revは、ファイルの拡張子を元の順番に戻します。
  • sort はファイルの拡張子をソートし、その結果を uniq にインポートします。
  • uniq は、各タイプに固有のファイル拡張子のリストを返す。なお、ファイル拡張子がない場合(例:makefile, directory Help, gcu Help)には、ファイル名全体を表示します。

最後に、uniqコマンドに-c(カウント)コマンドラインオプションを追加します。

ls | rev | cut -d'.' -f1 | rev | sort | uniq -c

これで、カレントディレクトリにあるさまざまなファイルタイプのリストが、各ファイルタイプごとにカウントされ、ソートされて表示されます。

なかなかいい線いってますね〜。

ドローフ・オット・ドロークキャブ・グニオグ・ドローイング

前進するためには後退しなければならないこともありますし、チームの一員であれば、たいてい最も速く前進することができます。

revをgotoコマンドのライブラリに追加すれば、すぐに他の複雑なコマンドシーケンスを簡略化するために使うことができます。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ