dポイントプレゼントキャンペーン実施中!

bashで文字列に含まれる//(スラッシュ2つ)を/(スラッシュ1つ)に置換したいです。

str=/dir1//dir2//dir3/
str=$${str//?/?}

上記の?の部分の記述がよく分かりません。
sedなど、外部コマンドは呼ばないで実現したいです。
よろしくお願いします。

A 回答 (1件)

$$はおかしいでしょ



str=${str//\/\///}

前半のパターン部には\を付けて/をエスケープ
後半の文字列部は、区切りの/が出現した後なのでそのままでok
    • good
    • 0
この回答へのお礼

ありがとうございます。
$$はmakefile内の記述でしたので、そうなってました。失礼しました。
後半の文字列部分にも\/を指定してたのでできなかったようです。
教えていただいた方法で変換できるようになりました。
ありがとうございました。

お礼日時:2010/07/04 18:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!