Unix 单行代码引用一行中的所有单词

Unix 单行代码引用一行中的所有单词

我有一个文本文件,其中有由单词(以空格分隔)组成的行,我想在所有单词周围加上引号。

例如:

Lorem ipsum dolor sit amet
consectetur 
adipisicing elitsed do  

eiusmod tempor 
incididunt ut
  labore et dolore magna 
aliqua

应变为:

"Lorem" "ipsum" "dolor" "sit" "amet"
"consectetur"
"adipisicing" "elitsed" "do"

"eiusmod" "tempor"
"incididunt" "ut"
  "labore" "et" "dolore" "magna"
"aliqua"

答案1

sed 's/[^ ][^ ]*/"&"/g' filename > newname

或者

awk '{for(i=1;i<=NF;i++)printf("\"%s\" ",$i);printf("\n");}' filename > newname

答案2

sed 's/[^ ]\+/"&"/g' filename > newname

或者,就地更新文件

sed -i 's/[^ ]\+/"&"/g' filename

相关内容