2月 21st, 2009

シェルぜ for文で区切り位置を改? にする

Posted in Linux by admin

 あるファイルからshぜ for文を利用してリスト処理をさせたい場合、以? のようなファイルの場合では改? ではなぜ 、空白を区切り位置として扱ってしまう。

$ cat test
aaa bbb ccc
111 222

$ for var in `cat list.txt`; do echo $var; done
aaa
bbb
ccc
111
222

 これを改? ? にリスト処理させたい場合は、予約変? IFSを定義してからfor文を実行すればいい。以? のようになります。

$ IFS=$'\n'; for var in `cat list.txt`; do echo $var; done
aaa bbb ccc
111 222
You can leave a comment, or trackback from your own site. RSS 2.0

Leave a comment