変数URL_1 =がありますhttps://my/sample/url
。 URL_2 =をどのように取得しますかhttps:\/\/my\/sample\/url
?
ベストアンサー1
次のシェルがあるとしますbash
。
URL_1='https://my/sample/url'
URL_2=${URL_1//\//\\\/}
これは、文字列(エスケープされたスラッシュなど)をパターンとして変数として使用し(つまり、エスケープされたバックスラッシュの後にエスケープされたスラッシュが続く)、代替テキストとして使用して、一部の${variable//pattern/replacement}
シェルで使用できる置換を使用します。置換はパターン内の各項目を代替テキストに置き換え、上記のコードは結果を変数に保存します。URL_1
\/
\\\/
URL_2
テスト:
$ URL_1='https://my/sample/url'
$ URL_2=${URL_1//\//\\\/}
$ printf '%s\n' "$URL_2"
https:\/\/my\/sample\/url
また、使用することができます
URL_2=${URL_1//'/'/'\/'}
(つまり、バックスラッシュエスケープの代わりに一重引用符を使用してください)。