我在文本文件中写了三个变量。现在它变成了一个变量,因为try和error就像这样更快。这三个变量由脚本生成,每个变量都有一个包含值的列。例如,变量如下所示:
hour
minute
minute
day
我使用以下代码将它们组合在一起:
New_fileloc=$(paste <(echo "$Grabinterval") <(echo "$Filelocation") <(echo "$Time") --delimiters ';' | sed -e 's/^\|$/"/g' -e 's/\;/";"/')
最后,我需要每列中的每一行用双引号分隔,并用分号分隔。目前我在那个衬里使用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"
第一个分号替换为“;”,但每行中的第二个分号不替换。我不明白为什么。
答案 0 :(得分:2)
在您发给sed的最后一个命令中,您错过了g
s/\;/";"/g
's/\;/";"/'
的原始命令只会替换一个,第一个。