使い方
while read line; do
echo $line
done < <( printf "hello\nworld\nbye\n" )
Code language: Bash (bash)
参考:
for よりも while read を使い、効率的にファイルと文字列を扱う | grep Tips
while 文の使用方法 | UNIX & Linux コマンド・シェルスクリプト リファレンス
ファイルの中身を一行ずつ読み込む方法 | server-memo.net
シェルスクリプトでよく使われる while read line 4パターン | eTuts+ Server Tutorial
populate an array in loop – Stack Overflow
Why is the array empty after the while loop? – Unix & Linux Stack Exchange
trouble when assigning to an array index in a loop – Stack Overflow
ファイルの最終行に改行がない場合の処理
最終行に改行がない場合に最終行を処理させるには、test
コマンドで -n
演算子を用いて判定して処理を追加する。
while read line || [ -n "$line" ]; do
echo $line
done < <( cat input.txt )
Code language: Bash (bash)
参考:
while read で最終行が処理されない問題の解決方法 – Qiita
read missing last line – Stack Overflow
IFS
参考:
read するときは IFS= を付けておくと strict な感じで気持ちが良い – Qiita
ループの出力をソートする
参考:
How to process a while-do loop and sort the iterated output – Unix & Linux Stack Exchange