web-dev-qa-db-ja.com

1行のすべての単語を引用する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"
4
dsg
sed 's/[^ ][^ ]*/"&"/g' filename > newname

または

awk '{for(i=1;i<=NF;i++)printf("\"%s\" ",$i);printf("\n");}' filename > newname
5
jlliagre
sed 's/[^ ]\+/"&"/g' filename > newname

または、ファイルをインプレースで更新します

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