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