Linux
 Computer >> コンピューター >  >> システム >> Linux

コマンドラインでテキストを操作するための13の便利なツール

コマンドラインでテキストを操作するための13の便利なツール

GNU / Linuxディストリビューションには、テキストを処理するための豊富なプログラムが含まれており、そのほとんどはGNUコアユーティリティによって提供されます。ある程度の学習曲線がありますが、これらのユーティリティを正しく使用すると、非常に便利で効率的であることがわかります。

ここに、すべてのコマンドラインユーザーが知っておくべき13の強力なテキスト操作ツールがあります。

1。猫

猫はを構成するように設計されています ファイルを生成しますが、ほとんどの場合、単一のファイルを表示するために使用されます。引数がない場合、catは Ctrlまで標準入力を読み取ります + D が押されました(端末から、またはパイプを使用している場合は別のプログラム出力から)。標準入力は、-で明示的に指定することもできます 。

Catには、特に次のような便利なオプションがいくつかあります。

  • -A 各行の終わりに「$」を印刷し、キャレット記法を使用して印刷されない文字を表示します。
  • -n すべての行に番号を付けます。
  • -b 空白ではない数直線。
  • -s 一連の空白行を1つの空白行に減らします。

次の例では、file1、標準入力、およびfile3の内容を連結して番号を付けています。

cat -n file1 - file3
コマンドラインでテキストを操作するための13の便利なツール

2。並べ替え

その名前が示すように、 sort ファイルの内容をアルファベット順および数値順に並べ替えます。

コマンドラインでテキストを操作するための13の便利なツール

3。 uniq

Uniqはソートされたファイルを受け取り、重複する行を削除します。多くの場合、 sortとチェーンされています 1つのコマンドで。

コマンドラインでテキストを操作するための13の便利なツール

4。コミュニケーション

Commは、2つのソートされたファイルを1行ずつ比較するために使用されます。 3つの列を出力します。最初の2つの列には、それぞれ1番目と2番目のファイルに固有の行が含まれ、3番目の列には両方のファイルで見つかった行が表示されます。

コマンドラインでテキストを操作するための13の便利なツール

5。カット

カットは、文字、フィールド、またはバイトに基づいて、行の特定のセクションを取得するために使用されます。ファイルから、またはファイルが指定されていない場合は標準入力から読み取ることができます。

文字の位置による切り取り

-c オプションは、単一の文字位置または1つ以上の文字範囲を指定します。

例:

  • -c 3 :3番目の文字。
  • -c 3-5 :3番目から5番目の文字まで。
  • -c -5 または-c1-5 :1文字目から5文字目まで。
  • -c 5- :5文字目から行末まで。
  • -c 3,5-7 :3番目と5番目から7番目の文字。
コマンドラインでテキストを操作するための13の便利なツール

フィールドによる切り取り

フィールドは、 -dで指定された単一の文字で構成される区切り文字で区切られます。 オプション。 -f オプションは、上記と同じ形式を使用して、フィールド位置または1つ以上のフィールド範囲を選択します。

コマンドラインでテキストを操作するための13の便利なツール

6。 dos2unix

GNU / LinuxとUnixは通常、テキスト行を改行(LF)で終了しますが、Windowsはキャリッジリターンとラインフィード(CRLF)を使用します。互換性の問題は、dos2unixの出番であるLinuxでCRLFテキストを処理するときに発生する可能性があります。これはCRLFターミネータをLFに変換します。

次の例では、 file コマンドは、 dos2unixを使用する前後のテキスト形式を確認するために使用されます 。

コマンドラインでテキストを操作するための13の便利なツール

7。折りたたむ

長いテキスト行を読みやすく扱いやすくするために、 foldを使用できます。 、指定された幅に行を折り返します。

折り畳みはデフォルトで指定された幅に厳密に一致し、必要に応じて単語を分割します。

fold -w 30 longline.txt
コマンドラインでテキストを操作するための13の便利なツール

単語を壊すことが望ましくない場合は、 -sを使用できます スペースで壊すオプション。

fold -w 30 -s longline.txt
コマンドラインでテキストを操作するための13の便利なツール

8。 iconv

このツールは、テキストをあるエンコーディングから別のエンコーディングに変換します。これは、異常なエンコーディングを処理する場合に非常に便利です。

iconv -f input_encoding -t output_encoding -o output_file input_file
  • 「input_encoding」は、変換元のエンコーディングです。
  • 「output_encoding」は、変換先のエンコーディングです。
  • 「output_file」は、iconvが保存するファイル名です。
  • 「input_file」は、iconvが読み取るファイル名です。

注: iconv -l <​​/ code>を使用して、使用可能なエンコーディングを一覧表示できます。

9。 sed

sedは強力で柔軟なs tream ed itorは、文字列を検索して次の構文に置き換えるために最も一般的に使用されます。

次のコマンドは、指定されたファイル(または標準入力)から読み取り、正規表現パターンに一致するテキストの部分を置換文字列に置き換え、結果を端末に出力します。

sed s/pattern/replacement/g filename

代わりに元のファイルを変更するには、 -iを使用できます フラグ。

コマンドラインでテキストを操作するための13の便利なツール

10。 wc

wc ユーティリティは、ファイル内のバイト数、文字数、単語数、または行数を出力します。

コマンドラインでテキストを操作するための13の便利なツール

11。分割

splitを使用できます ファイルをより小さなファイル、行数、サイズ、または特定の数のファイルに分割します。

行数で分割

split -l num_lines input_file output_prefix
コマンドラインでテキストを操作するための13の便利なツール

バイト単位で分割

split -b bytes input_file output_prefix
コマンドラインでテキストを操作するための13の便利なツール

特定の数のファイルに分割する

split -n num_files input_file output_prefix
コマンドラインでテキストを操作するための13の便利なツール

12。 tac

逆に猫であるTacは、まさにそれを実行します。逆の順序で行を含むファイルを表示します。

コマンドラインでテキストを操作するための13の便利なツール

13。 tr

trツールは、文字のセットを翻訳または削除するために使用されます。

文字のセットは通常、文字列または文字の範囲のいずれかです。例:

  • 「A-Z」:すべて大文字
  • 「a-z0-9」:小文字と数字
  • 「\n[:punct:]」:改行文字と句読文字

詳細については、trのマニュアルページを参照してください。

あるセットを別のセットに変換するには、次の構文を使用します。

tr SET1 SET2

たとえば、小文字を同等の大文字に置き換えるには、次を使用できます。

tr "a-z" "A-Z"
コマンドラインでテキストを操作するための13の便利なツール

文字のセットを削除するには、 -dを使用します フラグ。

tr -d SET
コマンドラインでテキストを操作するための13の便利なツール

文字のセットの補集合(つまり、セットを除くすべて)を削除するには、 -dcを使用します。 。

tr -dc SET
コマンドラインでテキストを操作するための13の便利なツール

結論

Linuxコマンドラインに関しては、学ぶべきことがたくさんあります。上記のコマンドが、コマンドラインのテキストをより適切に処理するのに役立つことを願っています。


  1. Linux用の最高のデータ回復ツールの7

    画面が真っ暗になったり、ノートパソコンが警告なしにフリーズしたりしましたか?たぶん、あなたのハードドライブは鳴き始めました。さらに悪いことに、突然ホームパーティションに保存できなくなった可能性があります。 ドライブが破損または故障しているというこれらの兆候はすべて、汗をかく原因となる可能性がありますが、すぐにコンピュータを廃棄する理由はありません。データを取得してデジタルライフを軌道に戻すのに役立つ6つのLinuxツールについて学ぶために読み続けてください。 1。トリニティレスキューキット データリカバリ用に特別に作成されたこのライブLinuxディストリビューションは、何年も前に残されてい

  2. Bashを楽しい方法で学ぶための3つのコマンドラインゲーム

    学習は大変な仕事であり、誰も仕事が好きではありません。つまり、Bashを習得するのがどれほど簡単であっても、それでもあなたにとっては仕事のように感じるかもしれません。もちろん、ゲームを通して学ばない限り。 Bashターミナルの使い方を教えるゲームがたくさんあるとは思わないでしょうし、あなたは正しいでしょう。真面目なPCゲーマーは、Falloutシリーズがボールトに端末ベースのコンピューターを備えていることを知っています。これは、テキストを介してコンピューターとやり取りするという考えを正常化するのに役立ちますが、AlpineやEmacsのようなアプリケーションを備えているにもかかわらず、Fal