Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Awk 在每个“之间添加逗号”&引用;归档_Awk - Fatal编程技术网

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