如何用双引号包围字符串



我有一个文件,其中包含以下

firsttext=cat secondtext=dog thirdtext=mouse

我希望它返回此字符串:

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

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

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

找不到字符串终端'''

我不明白错误。为什么不能添加引号?



另外,如果我在此字符串中有一个变量,我希望将其插值如下:

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

应该输出

"firsttext=cat" "secondtext=dog" "thirdtext=mouse"
perl -lne '@f = map qq/"$_"/, split; print "@f";' oneline

您想要的是:

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

-ne选项仅在行上拆分,如果没有其他选项设置,则不会在任意空间上分开。

最新更新