Awk 在每个“之间添加逗号”&引用;归档
输入:Awk 在每个“之间添加逗号”&引用;归档,awk,Awk,输入: “胡说八道”胡说八道“胡说八道”胡说八道“胡说八道” 所需输出:“stuff blah mostuff”、“stuff and blahagain”、“stuff yeablah” 我如何使用awk来实现这一点 只需将替换为,“ 通过sed $ echo '"stuff blah mostuff" "stuff and blahagain" "stuff yeablah"' | sed 's/"[[:blank:]]"/","/g' "stuff blah mostuff","stuff
“胡说八道”胡说八道“胡说八道”胡说八道“胡说八道”
所需输出:“stuff blah mostuff”、“stuff and blahagain”、“stuff yeablah”
我如何使用awk来实现这一点 只需将替换为,“
通过sed
$ echo '"stuff blah mostuff" "stuff and blahagain" "stuff yeablah"' | sed 's/"[[:blank:]]"/","/g'
"stuff blah mostuff","stuff and blahagain","stuff yeablah"
只需将替换为,“
通过sed
$ echo '"stuff blah mostuff" "stuff and blahagain" "stuff yeablah"' | sed 's/"[[:blank:]]"/","/g'
"stuff blah mostuff","stuff and blahagain","stuff yeablah"
但由于这是一个简单的单线替代,因此它更适合sed而不是awk:
$ sed -r 's/("[^"]+") /\1,/g' file
"stuff blah mostuff","stuff and blahagain","stuff yeablah"
$ sed -r 's/" "/","/g' file
"stuff blah mostuff","stuff and blahagain","stuff yeablah"
如果您的真实数据比您显示的更复杂(例如,可以嵌入转义引号或字符串之间的不同间距或嵌入换行符或仅包含空白字符的字符串或…),则编辑您的问题以显示一些真正具有代表性的输入和预期输出
但由于这是一个简单的单线替代,因此它更适合sed而不是awk:
$ sed -r 's/("[^"]+") /\1,/g' file
"stuff blah mostuff","stuff and blahagain","stuff yeablah"
$ sed -r 's/" "/","/g' file
"stuff blah mostuff","stuff and blahagain","stuff yeablah"
如果您的真实数据比您显示的更复杂(例如,可以嵌入转义引号或字符串之间的不同间距,或嵌入换行符或仅包含空白字符的字符串或…),则编辑您的问题以显示一些真正具有代表性的输入和预期输出。另一种方法
awk -F\" -v OFS=\" '{for (i=3; i<=NF-2; i+=2) $i=","}1' file
awk-F\“-vofs=\”{for(i=3;i另一种方法
awk -F\" -v OFS=\" '{for (i=3; i<=NF-2; i+=2) $i=","}1' file
awk-F\“-vofs=\”{for(i=3;i