我将三个变量写入文本文件。现在它变成了一个变量,因为像这样尝试和错误会更快。这三个变量由之前的脚本生成,每个变量都有一列,其中包含值。例如,变量一看起来像这样:
hour
minute
minute
day
Run Code Online (Sandbox Code Playgroud)
我使用以下代码将它们放在一起:
New_fileloc=$(paste <(echo "$Grabinterval") <(echo "$Filelocation") <(echo "$Time") --delimiters ';' | sed -e 's/^\|$/"/g' -e 's/\;/";"/')
Run Code Online (Sandbox Code Playgroud)
最后,我需要每列中的每一行用双引号括起来并用分号分隔。目前我正在使用 sed 在那一个班轮中这样做。这大部分工作正常。我的输出如下所示:
"hour";"A_path/to/somewhere/;2016-02-10 17:07:00Z"
"minute";"A_path/to/somewhere/;2016-01-29 17:26:20Z"
"minute";"A_path/to/somewhere/;2016-01-29 17:26:20Z"
"day";"A_path/to/somewhere/;2016-01-29 00:07:00Z"
Run Code Online (Sandbox Code Playgroud)
第一个分号被替换为“;”,但每行中的第二个分号没有。我不知道为什么。
小智 5
在您对 sed 的最后一个命令中,您缺少一个 g
s/\;/";"/g
Run Code Online (Sandbox Code Playgroud)
您的原始命令 with's/\;/";"/'只会进行一次替换,即第一个。