リテラルスペースを正規表現スペースに置き換える

リテラルスペースを正規表現スペースに置き換える

文字列を変更したい

This is a string

到着

This\sis\sa\sstring

\しかし、trから逃げるかどうかは関係なく動作しません。

string="This is a string"
regex=$(echo "$string" | tr " " "\\s")
printf "$regex"

ただ受け取った

Thississasstring

ベストアンサー1

私の考えでは、あなたのアプローチの最大の問題は音訳trです。一つ文字 - したがって、正常に引用しても、'\\s'必要な方法で機能しません(スペースのみを置き換えることもできます\)。

この場合、外部ユーティリティはまったく必要ありません。

string="This is a string"
echo "${string// /\\s}"
This\sis\sa\sstring

おすすめ記事