Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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
用于将记录转换为双引号逗号分隔字符串的Shell脚本_Shell_Awk_Gawk - Fatal编程技术网

用于将记录转换为双引号逗号分隔字符串的Shell脚本

用于将记录转换为双引号逗号分隔字符串的Shell脚本,shell,awk,gawk,Shell,Awk,Gawk,我想为下面的场景编写一个shell脚本。 我有记录 "apple""banana""pineapple" 我希望每个字符串都用双引号括起来,用逗号分隔,如下所示: "apple","banana","pineapple" 你可以试试这个 sed 's/""/","/g' user@host:~$ echo '"apple""banana""pineapple"' | sed 's/""/","/g' "apple","banana","pineapple" 你可以试试这个 sed

我想为下面的场景编写一个shell脚本。 我有记录

"apple""banana""pineapple"
我希望每个字符串都用双引号括起来,用逗号分隔,如下所示:

"apple","banana","pineapple"
你可以试试这个

sed 's/""/","/g'

 user@host:~$  echo '"apple""banana""pineapple"' | sed  's/""/","/g'
"apple","banana","pineapple"
你可以试试这个

sed 's/""/","/g'

 user@host:~$  echo '"apple""banana""pineapple"' | sed  's/""/","/g'
"apple","banana","pineapple"

此awk单衬套应适用于给定示例:

awk -F'""' -v OFS='","' '$1=$1' 

此awk单衬套应适用于给定示例:

awk -F'""' -v OFS='","' '$1=$1' 

欢迎来到stackoverflow。到目前为止,您尝试了什么来解决此问题?欢迎使用stackoverflow。到目前为止,您尝试了什么来解决这个问题?谢谢您的回复,先生,我只想让这个过程充满活力。动态从某种意义上说,每行记录的列数都在变化谢谢你的回复,先生,我只是想让这个过程变得动态。动态从某种意义上说,每行记录的列数都在变化谢谢你的回复,先生,我只是想让这个过程变得动态。从某种意义上讲,动态是指如果/当第一个字段为空时将失败的每条记录行的更改列数。不要依赖于
$1=$1
对真实条件的评估,除非您心里有特定的目的并理解警告-默认情况下始终使用
{$1=$1}1
@RohanShah-澄清您的评论并编辑您的问题,以显示当前答案不符合您要求的情况。@Kent感谢您的脚本适用于大多数情况。但如果字段为空,我将面临一个问题。例如,记录是“a”“b”“c”“d”“e”“,那么我得到的输出是“a”“b”“c”“d”“e”“e”“,”,而预期的是“a”“b”“c”“d”“e”“您能帮我介绍一下这些场景吗Advance@RohanShah在comment中用您的示例测试了我的命令,它给出了预期的输出<代码>“a”、“b”、“c”、“d”、“e”和“@Ed Morton是的,您是对的。当第一个字段为空时,条件失败。谢谢你的回复,先生,我只是想让这个过程充满活力。从某种意义上讲,动态是指如果/当第一个字段为空时将失败的每条记录行的更改列数。不要依赖于
$1=$1
对真实条件的评估,除非您心里有特定的目的并理解警告-默认情况下始终使用
{$1=$1}1
@RohanShah-澄清您的评论并编辑您的问题,以显示当前答案不符合您要求的情况。@Kent感谢您的脚本适用于大多数情况。但如果字段为空,我将面临一个问题。例如,记录是“a”“b”“c”“d”“e”“,那么我得到的输出是“a”“b”“c”“d”“e”“e”“,”,而预期的是“a”“b”“c”“d”“e”“您能帮我介绍一下这些场景吗Advance@RohanShah在comment中用您的示例测试了我的命令,它给出了预期的输出<代码>“a”、“b”、“c”、“d”、“e”和“@Ed Morton是的,您是对的。当第一个字段为空时,条件失败。你能帮我一下吗。