Bash > ファイルを一行ずつ処理する方法
更新日
2012-09-10
広告
ファイルの内容を一行ずつ処理する方法を紹介します。
例えば、以下のように cat と read コマンドを利用する方法があります。
cat ファイル名 | while read 変数名 do 変数を使った処理 donecat でファイルの内容を出力し、それを while ループしながら read で読み取ります。
以下のサンプル read-each-line.sh では、ファイルの内容に、行数をつけて表示します。ファイルは、引数として渡します。
#!/bin/bash numLine=1 cat $1 | while read line do echo $numLine: $line # 出力 numLine=$((numLine + 1)) # 行数を1増やす doneまた、次のファイル sample.dat を用意します。
$ cat sample.dat 1 10 100 2 20 200 3 30 300それでは、read-each-line.sh を実行してみます。
$ bash read-each-line.sh sample.dat 1: 1 10 100 2: 2 20 200 3: 3 30 300
広告
お問い合わせは sweng.tips@gmail.com まで。