如何用双引号将字符串括起来

How to surround a string in double quotes

我有一个包含以下内容的文件

firsttext=cat secondtext=dog thirdtext=mouse

我希望它成为 return 这个字符串:

"firsttext=cat" "secondtext=dog" "thirdtext=mouse"

我试过这个单线,但它给了我一个错误。

cat oneline | perl -ne 'print \"$_ \" '

Can't find string terminator '"' anywhere before EOF at -e line 1.

没看懂 error.Why 加个引号不行吗?



另外,如果我在这个字符串中有一个变量,我希望它像这样被插值:

firsttext=${animal} secondtext=${othervar} thirdtext=mouse

哪个应该输出

"firsttext=cat" "secondtext=dog" "thirdtext=mouse"

你要的是这个:

cat oneline | perl -ne 'print join " ", map { qq["$_"] } split'

-ne 选项只按行拆分,如果没有设置其他选项,它不会按任意空格拆分。

perl -lne '@f = map qq/"$_"/, split; print "@f";' oneline