Bash の Cat EOF

Fumbani Banda 2023年1月30日
  1. Bash の Cat EOF
  2. Bash のファイルに複数行の文字列を配置する
  3. Bash で複数行の文字列をパイプに渡す
Bash の Cat EOF

このチュートリアルでは、cat EOF とは何かと bash での使用法について説明します。

Bash の Cat EOF

cat はファイルの内容を読み取ったり、表示したり、連結したりするために使用される bash コマンドであり、EOFEnd Of File を表します。EOF は、読み取られていたファイルが終了したことをシェルに示します。cat << eofhere-document を使用します。リダイレクト演算子 <<<<- はどちらも、シェルによって読み取られた後続の行をコマンドの入力にリダイレクトできます。リダイレクトされた行は here-document と呼ばれます。

here-document は次の形式を使用します。

[n] << word
     here-document
delimeter

here-document は、次の改行の後に始まる単一の単語として扱われます。区切り文字のみを含む行、または間に空白文字を含まない改行ができるまで続きます。

Bash のファイルに複数行の文字列を配置する

cat<<EOF、および > は、複数行の文字列をファイルに入力するためのインタラクティブな方法を提供します。EOFHere Tag として知られています。Here Tag は、Here Tag まで複数行の文字列を入力することをシェルに通知します。<<Here Tag を設定するために使用されます。> は、入力コンテンツを指定されたファイル(この場合は multiline.txt)にリダイレクトするために使用されます。

cat << EOF > multiline.txt
> This is the first line
> This is the second line
> This is the third line
> EOF

cat<<EOF、および > を使用して、以下に示すようにインタラクティブに bash スクリプトを作成することもできます。

cat << EOF > script.sh
#!/bin/bash

printf "Hello\n"
printf "Wordl!\n"
EOF

Bash で複数行の文字列をパイプに渡す

以下のコードは、cateof、および pipe を使用して、複数行の入力文字列コンテンツを指定されたパイプとコマンドにリダイレクトします。入力は文字列 A を grep する grep コマンドにパイプされ、一致した入力は tee コマンドにパイプされます。tee コマンドは、入力を fruits.txt ファイルにコピーします。

cat <<EOF | grep 'A' | tee fruits.txt
> Apple
> Orange
> Apricot
> Banana
> EOF

catfruits.txt ファイルの内容を確認しましょう。

cat fruits.txt

出力:

Apple
Apricot
著者: Fumbani Banda
Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub

関連記事 - Bash Cat