04/10/13 01:06:17 B1j7Htk0
>>90
助言を元に、下記のようなスクリプトを作成したのですが、いくつかわからないところがあるので再度お教えください。
「IPアドレス[TAB]HostName #コメント」という書式に合致したら、#から右側を無視して、左側に対して、
禁則文字があるかチェックをしようとしています。
-------ここから
NOT_ERROR_CHAR="[^][!"#$%&')(=~|`{*}><?\^@:;\/,]" #実際はファイルから読み込んでいます。
ERROR_CHAR="[][!"#$%&')(=~|`{*}><?\^@:;\/,]" #実際はファイルから読み込んでいます。
PingCharError=` grep -e '^[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}[TAB]'"${NOT_ERROR_CHAR}" ${PING} | cut -d(\ ) -f1 | grep "${ERROR_CHAR}"
if [ "${PingCharError}"} ]; then
echo "禁則文字が入っているよ、"
fi
echo "問題ないよ"
実行すると、下記のように起こられてしまいました。どうしてもエラーを取り除くことができず困っています。
助言をお願いいたします。
ping_hoge: command substitution: line 1:
syntax error near unexpected token `('
ping_hoge: command substitution: line 1:
`grep -e '^[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}[TAB]' ${PING} | cut -d(\ ) -f1 | grep ${ERROR_CHAR}'
--------ここまで
もう一点。
IPアドレスを「000 000 000」のように、スペースにしてみたら、動いてしまいました。
どうすれば、「000.000.000.000」だけをお教えください。
よろしくお願いいたします。