将行折叠成单行(用逗号分隔原始行)

将行折叠成单行(用逗号分隔原始行)

我将结果存储到变量中,结果以列表示。并希望转换为以逗号作为分隔符的行。任何帮助,将不胜感激。

echo $var

'2017-08-09'
'2017-01-01'
'2017-01-01'
'2017-01-01'
'2017-01-01'
'2017-01-01'
'2017-01-01'
'2017-01-01'
'2017-01-01'
'2017-01-01'
'2017-01-01'
'2017-01-01'

结果:

echo $var

'2017-08-09','2017-01-01','2017-01-01','2017-01-01','2017-01-01','2017-01-01','2017-01-01','2017-01-01','2017-01-01','2017-01-01','2017-01-01','2017-01-01'

答案1

paste命令:

var="$(paste -d',' -s <<<"$var")"
  • -d',',- 使用作为分隔符合并文件行

答案2

tr一个副顺序sed

$ cat in.sh
#!/usr/local/bin/bash
input="$( echo "'2017-08-09'
'2017-01-01'
'2017-01-01'
'2017-01-01'
'2017-01-01'
'2017-01-01'
'2017-01-01'
'2017-01-01'
'2017-01-01'
'2017-01-01'
'2017-01-01'
'2017-01-01'" )"
echo "$input" | tr "\n" "," | sed 's/,$//'
$ ./in.sh
'2017-08-09','2017-01-01','2017-01-01','2017-01-01','2017-01-01','2017-01-01','2017-01-01','2017-01-01','2017-01-01','2017-01-01','2017-01-01','2017-01-01'

相关内容