Bash
用正則表達式空間替換文字空間
我想改變一個字元串
This is a string
到
This\sis\sa\sstring
但是無論我是否逃脫 tr 都不適合
\
我string="This is a string" regex=$(echo "$string" | tr " " "\\s") printf "$regex"
我只是得到
Thississasstring
我認為,您的方法的主要問題是
tr
音譯單個字元 - 所以即使您成功引用'\\s'
它也不會按照您想要的方式工作(它可能只是用 替換空格\
)。在這種情況下,您根本不需要外部實用程序:
string="This is a string" echo "${string// /\\s}" This\sis\sa\sstring