• 締切済み

bashで文字列に含まれる//(スラッシュ2つ)を/(スラッシュ1つ)

bashで文字列に含まれる//(スラッシュ2つ)を/(スラッシュ1つ)に置換したいです。 str=/dir1//dir2//dir3/ str=$${str//?/?} 上記の?の部分の記述がよく分かりません。 sedなど、外部コマンドは呼ばないで実現したいです。 よろしくお願いします。

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

$$はおかしいでしょ str=${str//\/\///} 前半のパターン部には\を付けて/をエスケープ 後半の文字列部は、区切りの/が出現した後なのでそのままでok

inja025
質問者

お礼

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

関連するQ&A