標準入力を受け入れるシェルスクリプトの書き方

1 min read読了の目安(約1400字

結論

  • while read
  • cat -

主に上記の方法がある

while read

#!/bin/bash

while read line
do
    echo $line
done

伝統的な手法。
逐次処理できるので、行をまたいだ処理を実装することに適しているように思う。

cat -

#!/bin/bash

cat - | cut -d',' -f1-3 | column -ts,

標準入力から入力を受け取る手段がすでにあるのだから、cat -でよい、という方法。
シンプルで、読み取る時間的コストも安い。

(上記の方法だと別に cat - さえも要らない…)

参考URL