私はこれを試しました:
PATH="/user/dj/a/mydir"
PATH_FORMAT=`echo "${PATH}" | sed 's/\//\\\//'`
ただし、最初の「/」のみを置き換えます。結果の PATH_FORMAT 値を次のようにしたい:
"\/user\/dj\/a\/mydir"
どうやってやるの?
代替コマンドにフラグを追加g
します。
echo "${PATH}" | sed 's/\//\\//g'
または、コメントのJonathan Wakelyによると、より読みやすく:
echo "${PATH}" | sed 's:/:\\/:g'
質問で説明したことを達成するには、バックスラッシュがもう 1 つ必要です。
echo /user/dj/a/mydir | sed 's:/:\\\/:g'
出力:
\/user\/dj\/a\/mydir
sed "s%/%\\\\\\/%g"
. それと同じくらい簡単