私の問題を解決したい他の答えを見ましたが、解決できません。
#!/bin/bash
s=org.gnome.Terminal.Legacy.Keybindings
g=$(echo $s | sed "s|\.|/|g")
echo $g
上記のスクリプトが返されました。
org/gnome/Terminal/Legacy/Keybindings
/
しかし、最後に追加する必要があります。
org/gnome/Terminal/Legacy/Keybindings/
このためにsedスクリプトをどのように拡張できますか?
ベストアンサー1
bashを使用している場合、実際にsedは必要ありません。
s="org.gnome.Terminal.Legacy.Keybindings"
g=${s//.//}/
読むパラメータ拡張${parameter/pattern/string}
他の多くの有用な情報を含むbashのマニュアルページ()セクションを参照してください。
sed では複数の式を指定することもできます。
s="org.gnome.Terminal.Legacy.Keybindings"
g=$(sed -e 'y,.,/,' -e 's,$,/,' <<<$s)
リテラル文字を受け入れるコマンドを使用するときは、エスケープする必要はy
ありません。.
y