/ を path/test/path/ から /replace に変更したいと思います。
つまり、予想される出力は =test=path=to=replace でなければなりません。
答え1
#! /usr/bin/env bash
A="/test/path/to/replace"
B="${A////=}"
echo "$B"
結果:
=test=path=to=replace
答え2
ここにはいくつかのオプションがあります。あなたはそれを使用することができますtr
new_path=$(echo '/test/path/to/replace' | tr '/' '=')
またはsed
new_path=$(echo '/test/path/to/replace' | sed 's/\//=/g')
答え3
ここではsedコマンドを使用できます。
sed "s/\//=/g"
コマンド出力の例:
pwd | sed "s/\//=/g"
echo "/test/path/to/replace" | sed "s/\//=/g"
ファイルの例(ファイル内のテキストで「/」を「=」に変更):
sed "s/\//=/g" file_name
変数の例(変数の内容の変更、「/」が「=」に変わります):
echo $var1 | sed "s/\//=/g"
もちろん、「基本」区切り記号(スラッシュ「/」)を減算記号「-」に置き換えることもできます。この場合、バックスラッシュ記号を使用せずに、より良い読みやすさを得ることができます。
sed "s-/-=-g"
指示(sedコマンドに慣れていない場合に備えて):
sed "s/\//=/g"
sed - stream editor (non-interactive command-line text editor)
s - substitute sed command
/ - separators - first, third and fourth slash sign
\ - used for escaping second slash sign so that bash interprets second slash sign as litteral slash sign - not as separator)
/ - second slash sign; litteral slash sign (not separator) - term that we want to replace
= - term that we want to get after replacement
g - global sed command (replace all slashes, not just first one - without 'g' sed will replace only first slash in the path)
sed "-/-=-g"
All the same as in the previous explanation, except the two things:
1. We don't use escape sign (backslash) and
2. minus signs represent separators.