こりんずねっと

ITのことやガジェットのことを書いてます

catコマンドでテキストファイルを生成する方法

cat-linux

catこりんずです。

皆さんはLinuxでテキストファイルを生成するコマンドといえばどんなものを想像しますか?

viコマンドやvimコマンドを思いつく方が多いかと思います。

今回はcatコマンドでテキストファイルを生成する方法をご紹介します。

実際のコマンド例

cat > text.txt << EOF

 

上記コマンドでtest.txtを新規作成してファイルの中に文字を入力できるようにします。

"EOF"を入力すると編集を終了します。

このコマンドを実現するのにキーとなるのは2つ。

  • cat
  • リダイレクト演算子

この2つです。

 

catコマンドとは?

catコマンドは指定したファイルの内容を一覧表示するコマンドです。

以下のようにコマンドを叩くとfile.txtの内容を一覧表示してくれます。

 

cat file.txt

 

catコマンドはよーく使うコマンドなので絶対に覚えておきましょう。

 

リダイレクト演算子

リダイレクト演算子とは「>」や「<」といった記号を組み合わせることで、コマンドの出力結果をファイルへ書き出したり、コマンドの実行に必要な引数をファイルから指定することが可能となります。

今回出てくる「>」はファイルへの出力。

「<<」はコマンド引数への指定(上書き)です。

 

リダイレクト演算子についてはまた別の記事で詳細な説明をしたいと思います。

 

解説

ひとつずつ見ていきましょう。

 

cat > file.txt << EOF

 

まず、catコマンドの結果をリダイレクトでtest.txtへ吐き出しています。

catは画面へ一覧表示するコマンドでしたね。

そしてリダイレクトの「>」はファイル出力で、出力先はtest.txtを指定しています。

今いるディレクトリに同じ名前のファイルがないと仮定しましょう。そうするとtest.txtファイルが新規で作成されます。

 

次に後半の「<< EOF」です。

このリダイレクトでcatコマンドに対しての引数を指定しています。

これが意味するのは"catでEOFを表示してくださいね〜"という内容です。

ただ、このEOFという文字列はファイルの中に書かれているわけではないので自分で手入力でしてあげないといけません。

実際「cat > test.txt << EOF」を実行した後、入力待受状態になるのですが、ここでEOFを入力してあげるまで入力を終えることができません。

 

逆に言うとEOFを入力するまでの間に入力した文字はtest.txtへ書き込まれていきます。

 

これがcatコマンドを利用したテキストファイル生成の正体となります。

 

以上、いかがでしたでしょうか?

リダイレクトの使い方が肝となってくるコマンドですのでそこのところの理解が必要です。

ただ、応用的なものなので出番は少ないと思います…笑

 

最後までご覧いただきありがとうございました!