正規表現を使用して変数に値を割り当てるには?

正規表現を使用して変数に値を割り当てるには?

Bashの変数割り当て行に正規表現を使用したい

例えば

oldip="14\.130\.31\.172"
oldip_a="14.130.31.172" << How to use regex to del all '\'? and assign to oldip_a

どんなアイデアがありますか?

ベストアンサー1

を削除するには、\bashパラメーター置換を使用します。
//交換することを意味するみんな...(単一は/最初の文字のみを変更することを意味します。)すべての文字を変更する
//\\ことを意味します\(バックスラッシュ)文字は
/}何も変更しないことを意味します(/と末尾の間は何も変更しません)。}

ip="14\.130\.31\.172"
echo "${ip//\\/}"

出力

14.130.31.172

あるいは、\.これらのIPアドレスが多いファイルで複数の操作を実行する必要がある場合は、変更された各値を配列エントリに割り当てることができます。

ip=($(printf '
172.31.130.14
14\.130\.31\.172
33\.135\.220\.0
' | sed 's/\\//g'))
for ((i=0;i<${#ip[@]};i++));do
  echo "${ip[i]}"
done

出力

172.31.130.14
14.130.31.172
33.135.220.0

? ! ..私は2番目のデータ項目が最初のデータ項目の反対であることを確認しました。 (おそらくないかもしれませんが、気になります)..

おすすめ記事