2010年11月1日月曜日

ファイルの内容を1行ずつ処理

(ファイルを読み込んで各行を変数に読み込んでループ処理)
while read [変数名]; do [処理...] ; done < [入力ファイル]

(そのまま表示)
$ while read LINE; do echo ${LINE}; done < [表示したいファイル]; unset LINE
(行番号を付けて表示)
$ I=1; while read LINE; do echo "$(printf %4d ${I})| ${LINE}"; I=$((${I} + 1)); done < [表示したいファイル]; unset I LINE
(5行ごとに行番号を付けて表示)
$ I=1; while read LINE; do [ $((${I} % 5)) -eq 0 ] && echo "$(printf %4d ${I})| ${LINE}" || echo " | ${LINE}"; I=$((${I} + 1)); done < [表示したいファイル]; unset I LINE

http://d.hatena.ne.jp/kakurasan/20100112/p1

0 件のコメント: