こんにちは。
while read
(ループ)へパイプライン出力を渡して処理しました。
$ printf "a\n\nb\n" | while read -r line; do echo "$line"; done
a
b
$
空行に対して特別な処理を行いたい場合
- 空行を処理しない場合は、
$ printf "a\n\nb\n" | while read -r line; do [ -n "$line" ] && echo "$line"; done
$ printf "a\n\nb\n" | while read -r line && [ -n "$line" ]; do echo "$line"; done
a
b
$
- 空行ならば
while
ループを打ち切る場合は、
$ printf "a\n\nb\n" | while read -r line; do [ -n "$line" ] && echo "$line" || exit; done
a
$