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 キーを使ってプロンプトに戻ります。

  1. cat コマンドは、大きい (>) 演算子と、作成するファイルの名前 (file1 など) で実行します。

    cat > file1
    
  2. 次のテキストを追加し、Enter キーを押してカーソルを新しい行に移動します。

    NASA headquarters
    
  3. Ctrl + D キーを押して連結動作を終了し、プロンプトに戻ります。

  4. 既存の内容を上書きせずにファイルに行を追加するには、>> コマンドで "二重の大なり" (cat) 演算子を使います。

    cat >> file1
    
  5. 次のテキストを追加し、Enter キーを押してカーソルを新しい行に移動します。

    Goddard Space Flight Center
    
  6. Ctrl + D キーを押して連結動作を終了し、プロンプトに戻ります。

  7. ls コマンドを実行すると、ディレクトリに新しいファイルが表示されます。

    file1   NASA-logs-1995.txt   NASA-software-API.txt
    
  8. 基本的な cat コマンドを使って、更新されたファイルの内容を表示します。

    cat file1
    

    次のように出力されます。

    NASA headquarters
    Goddard Space Flight Center
    

ファイルを連結する

cat コマンドの 3 番目の使用方法は、ファイルの内容のコピーを連結することです。 連結はコピーに対してのみ行われるため、元のファイルには影響しません。

  1. 次のコマンドを実行すると、file1 の 2 つのコピーを連結して stdout に出力します。

    cat file1 file1
    

    出力は以下のようになります。

    NASA headquarters
    Goddard Space Flight Center
    NASA headquarters
    Goddard Space Flight Center
    
  2. ここで ls コマンドを実行すると、ディレクトリに新しいファイルが追加されていないことがわかります。

    file1   NASA-logs-1995.txt   NASA-software-API.txt
    

    各ファイルの内容が、次の行以降に、コマンドでファイル名が指定された順序で stdout に表示されました。 また、連結出力をファイルにリダイレクトすることもできます。

  3. より大きい (>) 演算子を使用して cat コマンドを実行し、file2 などの新しいファイルに出力を保存します。

    cat file1 file1 > file2
    
  4. 新しいファイルの内容を確認します。

    cat file2
    

    出力は次のようになります。

    NASA headquarters
    Goddard Space Flight Center
    NASA headquarters
    Goddard Space Flight Center
    
  5. もう一度 ls コマンドを実行すると、ディレクトリに新しいファイルが表示されます。

    file1   file2   NASA-logs-1995.txt   NASA-software-API.txt