====== 区切り文字 ====== LOGファイルの日付が Nov 8 10:10:10 ~ なんて事になってる場合、スクリプト無いでgrepしてひっかけたいのだが、dateコマンド(date '+%b %_d')で取得した日付を変数に突っ込むと Nov 8 10:10:10 ~ なんて事になって、スペースが埋められてしまい比較が正常に行われない。 これは区切り文字がスペース(改行を含む)になっている為、2つ以上のスペースを1つにまとめてしまうのである。 解決方法としてはIFS(Internal Field Separator)の設定を変更して区切り文字を改行だけにしてしまう #!/bin/bash IFS_BACKUP=$IFS IFS=$'\n' CHECK=`date '+%b %_d' echo ${CHECK} IFS=$IFS_BACKUP これで希望通り Nov 8 10:10:10 ~ と表示される