如何用双引号将字符串括起来
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
我有一个包含以下内容的文件
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