ksh +文字列から数字を削除する

ksh +文字列から数字を削除する

文字列IPには、次の例に示すように、いくつかのIPアドレス番号が含まれています。

echo ${IP[*]}

192.9.200.1 192.9.200.2 192.9.200.3

kshシェルを使用してリストから特定のIPアドレス番号を削除できますか?

例えば

文字列「IP」からIP - 192.9.200.2を削除したいです。

だから私は次のようになります

echo ${IP[*]}

192.9.200.1 192.9.200.3

ベストアンサー1

IP=(192.9.200.1 192.9.200.2 192.9.200.3)
remove=192.9.200.2
new=()
for ip in "${IP[@]}"; do [[ $ip != $remove ]] && new+=($ip); done
echo "${new[*]}"
192.9.200.1 192.9.200.3

または

for ((i=0; i<${#IP[@]}; i++)); do
    [[ ${IP[i]} == $remove ]] && unset IP[i]
done
echo "${IP[*]}"                                                                 
192.9.200.1 192.9.200.3

おすすめ記事