Bashで文字列をエスケープするコマンド 質問する

Bashで文字列をエスケープするコマンド 質問する

文字列をエスケープされたものに変換する Bash コマンドが必要です。次に例を示します。

echo "hello\world" | escape | someprog

ここで、エスケープコマンド"hello\world"は になります"hello\\\world"。次に、サムプログ期待どおりに使用できます"hello\\world"。もちろん、これは実際に行うことの簡略化された例です。

ベストアンサー1

Bashの場合:

printf "%q" "hello\world" | someprog

例えば:

printf "%q" "hello\world"
hello\\world

これは変数を通じても使用できます:

printf -v var "%q\n" "hello\world"
echo "$var"
hello\\world

おすすめ記事