cat コマンドを使用した基本的なファイル操作
ここでは、cat
コマンドを使用して、ファイルの表示、作成、連結を行います。 このコマンドは、複雑なデータ ラングリングを行う場合に便利です。
cat
コマンドは、ファイルを操作するための最も基本的でありながら役に立つコマンドの 1 つです。 テキスト ファイルに関しては、内容の表示、新しいファイルの作成、コピーの結合という、3 つの主要な機能があります。
内容を表示する
cat
コマンドは、ファイルの内容を読み取るために最もよく使用されます。 標準出力または stdout
とも呼ばれる既定の出力先は、モニターの画面です。 ファイルの内容を表示するには、cat <filename>
と入力します。
cat
コマンドを実行して、NASA-software-API.txt ファイルの内容を表示します。cat NASA-software-API.txt
出力では、ファイル内の各行が一覧表示され、最後は次のようになります。
... SSC-00424 SSC 2013-09-06T00:00:00.000 "General Public" "SSC Site Status Mobile Application" GSC-14732-1 GSFC 2004-06-09T00:00:00.000 "Open Source" "Tool For Interactive Plotting, Sonification, And 3D Orbit Display (TIPSOD)" GSC-14730-1 GSFC 2004-06-09T00:00:00.000 "Open Source" "Space Physics Data Facility Web Services" GSC-14726-1 GSFC 2004-06-09T00:00:00.000 "Open Source" "Earth Observing System (EOS) Clearinghouse (ECHO)"
ファイルを作成する
cat
コマンドを使用して、ファイルを作成できます。 多くの場合、このコマンドを使用する方が、小さなファイルに対しては、テキストエディターや vi (visual の略)エディターを使用するよりも簡単です。
cat
コマンドの標準出力を、"出力リダイレクト演算子" () の後に作成するファイルの名前を指定してリダイレクトすることにより新しいファイルを作成します。>
テキストを追加した後、Ctrl + D キーを使ってプロンプトに戻ります。
cat
コマンドは、大きい (>
) 演算子と、作成するファイルの名前 (file1 など) で実行します。cat > file1
次のテキストを追加し、Enter キーを押してカーソルを新しい行に移動します。
NASA headquarters
Ctrl + D キーを押して連結動作を終了し、プロンプトに戻ります。
既存の内容を上書きせずにファイルに行を追加するには、
>>
コマンドで "二重の大なり" (cat
) 演算子を使います。cat >> file1
次のテキストを追加し、Enter キーを押してカーソルを新しい行に移動します。
Goddard Space Flight Center
Ctrl + D キーを押して連結動作を終了し、プロンプトに戻ります。
ls
コマンドを実行すると、ディレクトリに新しいファイルが表示されます。file1 NASA-logs-1995.txt NASA-software-API.txt
基本的な
cat
コマンドを使って、更新されたファイルの内容を表示します。cat file1
次のように出力されます。
NASA headquarters Goddard Space Flight Center
ファイルを連結する
cat
コマンドの 3 番目の使用方法は、ファイルの内容のコピーを連結することです。 連結はコピーに対してのみ行われるため、元のファイルには影響しません。
次のコマンドを実行すると、file1 の 2 つのコピーを連結して
stdout
に出力します。cat file1 file1
出力は以下のようになります。
NASA headquarters Goddard Space Flight Center NASA headquarters Goddard Space Flight Center
ここで
ls
コマンドを実行すると、ディレクトリに新しいファイルが追加されていないことがわかります。file1 NASA-logs-1995.txt NASA-software-API.txt
各ファイルの内容が、次の行以降に、コマンドでファイル名が指定された順序で
stdout
に表示されました。 また、連結出力をファイルにリダイレクトすることもできます。より大きい (
>
) 演算子を使用してcat
コマンドを実行し、file2 などの新しいファイルに出力を保存します。cat file1 file1 > file2
新しいファイルの内容を確認します。
cat file2
出力は次のようになります。
NASA headquarters Goddard Space Flight Center NASA headquarters Goddard Space Flight Center
もう一度
ls
コマンドを実行すると、ディレクトリに新しいファイルが表示されます。file1 file2 NASA-logs-1995.txt NASA-software-API.txt