質問: ipアドレスの照合に使用できる正規表現は何ですか? 次のgrep構文を使用して、ファイル内のすべてのipアドレスを一致させたい(kshスクリプトから) grep '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' file 問題:4オクテット以上の単語(ip)にも一致します。1.1.1.1.1 または192.1.1.1.160 どうやって有効なipと4オクテットのipアドレスだけを一致させることができますか? grepが機能しない場合、私はperlも使用することができます - 1行の構文ソリューション。
回答: これを試して:grep -e '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' /etc/hosts これは0.0.0.0から999.999.999.999までのすべての式に一致しますとgrep -eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' /etc/hosts あなただけのipアドレスを取得します注: solarisではおそらくegrepがその仕事をするでしょう。