* 環境変数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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS