* 環境変数IFS [#z8d9c5c2]
* 環境変数 IFS [#z8d9c5c2]
** 設定する [#m5ad7a55]
IFS='
'
または
IFS=$(echo -en "\n")
または
IFS=$'\n'
*** $'string'について [#g3abd830]
bashのmanのクォート (quoting)の項を参考にする。 http://linuxjm.sourceforge.jp/html/GNU_bash/man1/bash.1.html#lbAQ
** デフォルトの設定 [#x811d317]
IFS="$'\n'$'\t' "
** 設定の確認 [#mf6ca4e2]
$ echo $IFS | od -a
0000000 nl
0000001
** 使用例 [#f71b5812]
以下のような3行からなるテキストファイルtxtがあるとする。
$ cat txt
123
4 56
7 8 9
*** IFSに改行タブスペースを設定した場合 [#rc8cc116]
$ IFS=$'\n\t '; for i in $(cat txt); do echo "DEBUG: " $i; done
DEBUG: 123
DEBUG: 4
DEBUG: 56
DEBUG: 7
DEBUG: 8
DEBUG: 9
*** IFSに改行のみを設定した場合 [#fc88c7fd]
$ IFS=$'\n'; for i in $(cat txt); do echo "DEBUG: " $i; done
DEBUG: 123
DEBUG: 4 56
DEBUG: 7 8 9
*** IFSにスペースのみを設定した場合 [#e60054a7]
$ IFS=$' ' ; for i in $(cat txt); do echo "DEBUG: " $i; done
DEBUG: 123
4
DEBUG: 56
7
DEBUG: 8
DEBUG: 9