シェルスクリプトでテキストファイルの内容を読み込む方法

シェル

bash」なら、以下のように書くことでファイルの内容を変数に入れることができます。

#!/bin/bash
TEST=$(<test.txt)
echo "$TEST"

古い環境でも使える「sh」でも動くように書くなら、以下のように「cat」を用います。

#!/bin/sh
TEST=`cat test.txt`
echo "$TEST"

以下のように書いて、1行ずつ処理することもできます。

#!/bin/bash
while IFS= read -r line; do    
    echo "$line"
done < test.txt

while read 変数名」という例が紹介されることも置いですが、それだと前後の空白が消えたり、バックスラッシュが特別な意味に解釈されたりします。
上の例のように、「while IFS= read -r 変数名」とすれば、空白やタブ、バックスラッシュがそのまま変数値としてセットされます。

シェル
\シェアお願いします/
LFI

コメント

タイトルとURLをコピーしました