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