さて、アドレスのリストがあり、その次にポート番号があります。問題は、それが常に正しいとは限らないということです。たとえば、次のリストがあります。
www.google.com:80
www.gmail.com:8080
www.yahoo.com
www.msn.com:443
www.amazon.com
www.apple.com
www.hotmail.com
私がやりたいことは、このリストを行ごとに保持するテキスト ファイルを調べて、アドレスを切り取り、.com
その後にポート番号がある場合は、そのポート番号を切り取り、変数に格納することです。これは私が試したものです:
for each in `cat address.txt`; do
f_address=$each
f_port=`echo $each | cut -d":" -f2`
if [[ "$f_address" == *:* ]]; then
address=`echo $f_address | cut -d":" -f1`
else
address=$f_address
fi
if [ "$f_port" = "*" ]; then
port=$f_port
else
port="443"
fi
これが実行されると、:
when needed の後にあるものは取得されず、代わりにそれが作成され443
ます。