シェル/ファイルを一行ずつ処理する

キーワード

  • sh
  • bash

したいこと

ファイルを読み込んで一行ずつ処理したい。

方法

標準入力から処理する

#!/bin/bash
while read LINE
do
    echo ${LINE}
done

あるいは

#!/bin/bash
cat - | xargs -i echo {}

とすると

$ cat file.txt | line.sh

パイプをまたいで処理できます。

ファイル名から処理する

#!/bin/bash
while read LINE
do
    echo ${LINE}
done < file.txt

ファイル名は done の後に書きます。

解説

標準入出力は「-」で表現します。

参考

  • http://www.sssg.org/blogs/naoya/archives/1124
作成日 2014-12-23