我有一个文件,其中包含以下
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
选项仅在行上拆分,如果没有其他选项设置,则不会在任意空间上分开。