LinuxのCatコマンド–Bashの例で説明された連結

LinuxのCatは、連結(物事をマージする)の略で、最も便利で用途の広いLinuxコマンドの1つです。Linuxcatコマンドは、本物の猫ほど可愛くてかわいいわけではありませんが、文字列、ファイル、出力を利用するさまざまな操作をサポートするために使用できます。

catコマンドには、テキストファイルに関連する3つの主な目的があります。

  • 作成する
  • 読み取り/表示
  • 更新/変更

これらのそれぞれについて順番に説明し、各操作に関連するコマンドとオプションを示します。

入門

まず、foo.txtとspam.txtというファイルをいくつか作成しましょう。

cat > foo.txtLinuxコマンドラインからのコマンドでfoo.txtを作成することから始めましょう。

警告:foo.txtという名前のファイルがすでに存在する場合cat、>演算子を使用するコマンドはそのファイルを上書きします。

ここから、プロンプトに改行が表示され、必要なテキストを入力できるようになります。この例では、以下を使用します。

FILE 1 foo bar baz 

コマンドラインに戻ってテキストファイルを作成するには、CTRL + Dを使用します。

それでは、spam.txtを作成cat > spam.txtして、以下を入力してみましょう。

FILE 2 spam ham eggs 

これらのファイルにテキストを追加または追加する場合はcat >> FILENAME、使用するテキストを使用して入力します。

>>演算子ではなく、>>演算子が追加に使用されることに注意してください。

テキストエディタを開く代わりに、コマンドラインからすばやく簡単なテキストファイルを作成することができ、時間と労力を節約できました。

このセクションの重要なポイントはcat > FILENAME、ファイルの作成または上書きに使用することです。さらに、cat >> FILENAMEすでに存在するファイルに追加するために使用できます。次に、テキストを入力した後、CTRL + Dを使用してエディターを終了し、コマンドラインに戻って、ファイルを作成します。

レインボーを読む

何かを作成したので、作成したものを見てみましょう。

次のコマンドには>または>>演算子がなく、catとファイル名のみが含まれていることに注意してください。

このコマンドcat foo.txtは次を表示します。

FILE 1 foo bar baz 

それではcat foo.txt、ファイルを読みましょう。しかし、他に何ができるか見てみましょう。

作業中のファイルの行数を把握したいとします。このため、-nオプションが便利です。

このコマンドcat -n foo.txtを使用すると、ファイルの長さを確認できます。

 1 FILE 1 2 foo 3 bar 4 baz 

-nを使用すると、作業中のファイルの行数を知ることができます。これは、固定長のファイルを反復処理するときに便利です。

ファイルの連結

さて、猫がファイルを作成して表示できることを確認しましたが、それらを連結(結合)するのはどうですか?

この例では、ファイルfoo.txtとspam.txtを使用します。ファンシーになりたい場合は、両方のファイルの内容を同時に確認できます。今回は。を使用して、catコマンドを再度使用しcat foo.txt spam.txtます。

cat foo.txt spam.txt 結果は次のようになります。

FILE 1 foo bar baz FILE 2 spam ham eggs 

上記は2つのファイルのみを表示することに注意してください。この時点では、まだそれらを新しいファイルに連結していません。

ファイルを使用する新しいファイルに連結するcat foo.txt spam.txt > fooSpam.txtには、結果を新しいファイルfooSpam.txtに変換します。

を使用するとcat fooSpam.txt、次の出力が端末に出力されます。

FILE 1 foo bar baz FILE 2 spam ham eggs 

このコマンドは、3つ以上のファイルを新しいファイルに連結する場合にも役立ちます。

ここでのポイントは、で複数のファイルを表示できることですcat FILENAME1 FILENAME 2

さらに、コマンドを使用して、複数のファイルを1つのファイルに連結できます  cat FILENAME1 FILENAME 2 > FILENAME3

猫と関係がある他の楽しいこと

ファイルを操作していて、ファイルが終了する前に何らかの理由でエラーが発生し続けているとしましょう。予想よりも多くの行があるようです。

ファイルをもう少し調査し、問題を解決するために、-Aスイッチを使用できます。-Aオプションは、行が$で終わる場所を示し、^ Iを含むタブ文字を示し、その他の非印刷文字も表示します。

印刷cat nonPrintExample.txtできないテキストファイルの例を見ていた場合、次のような結果が得られる可能性があります。

         

これは問題ありませんが、問題を引き起こしている可能性のあるキャラクターや文字列の完全なストーリーを教えてくれない場合があります。

一方、cat -A nonPrintExample.txtより有用な出力が得られる可能性があります。

^I^I$ $ ^L$ $ ^G^H^H^H^Y^I^N^O^P^@$ ^@^@^[g^[f^[d^[g^[6^[5^[4^[6^[=$ $ $ ^X$ 

ここでは、タブ、ラインフィード、リターン、その他の文字の間で何が起こっているのかをより明確に表現しています。

ここでのポイントは、cat -A FILENAMEを使用すると、作業中のファイルに関するより詳細な情報を取得できるということです。

この記事では、catコマンド、その機能、およびその機能の概要を説明します。