13,007
回編集
編集の要約なし |
|||
148行目: | 148行目: | ||
== テキストファイルの読み込み == | == テキストファイルの読み込み == | ||
while文とreadコマンドを組み合わせて使用すると、テキストファイルの内容を1行ずつ処理できる。 | while文とreadコマンドを組み合わせて使用すると、テキストファイルの内容を1行ずつ処理できる。<br> | ||
<br> | |||
==== 標準入力へリダイレクトさせて読み込む ==== | |||
ファイルを標準入力へリダイレクトさせて、ファイル内容を1行ずつ読み込ませる。<br> | |||
具体的には、list.txtファイルの内容を読み込み、1行ずつechoコマンドで表示させる。<br> | |||
<br> | |||
# list.txtファイルの内容 | |||
one | |||
two | |||
three | |||
<br> | |||
<source lang="sh"> | |||
while read line | |||
do | |||
echo $line | |||
done < ./list.txt | |||
</source> | |||
<br> | |||
# 出力 | |||
one | |||
two | |||
three | |||
<br> | |||
==== ファイルを変数に格納して読み込む ==== | |||
ファイル内容をcatコマンドで表示させて、それを変数に格納し、ヒアドキュメントを使用して読み込む。<br> | |||
具体的には、list.txtファイル内容を変数DATAに格納して、ヒアドキュメントを使用して変数の内容を読み込む。<br> | |||
<br> | |||
# list.txtファイルの内容 | |||
one | |||
two | |||
three | |||
<br> | |||
<source lang="sh"> | |||
DATA=`cat ./list.txt` | |||
while read line | |||
do | |||
echo $line | |||
done << FILE | |||
$DATA | |||
FILE | |||
</source> | |||
<br> | |||
# 出力 | |||
one | |||
two | |||
three | |||
<br> | |||
==== catコマンドでファイル内容を表示してパイプで渡す ==== | |||
ファイル内容をcatコマンドで表示させて、その結果をパイプを使用して読み込む。<br> | |||
具体的には、lixt.txtファイルの内容をcatコマンドで表示させて、その結果をパイプでwhile read line文に渡す。<br> | |||
# list.txtファイルの内容 | |||
one | |||
two | |||
three | |||
<br> | |||
<source lang="sh"> | |||
cat ./list.txt | while read line | |||
do | |||
echo $line | |||
done | |||
</source> | |||
<br> | |||
# 出力 | |||
one | |||
two | |||
three | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:シェルスクリプト]] | [[カテゴリ:シェルスクリプト]] |