需求
原始数据文件内容如下:
{"name":"vincent","age":"12"}
{"name": "tom", "age": "12"}
{"name": "jerry", "age": "13"}
{"name": "catlina", "age": "22"}
{"name": "sofia", "age": "14"}
希望变成下面的格式:
[{"name":"vincent","age":"12"},
{"name": "tom", "age": "12"},
{"name": "jerry", "age": "13"},
{"name": "catlina", "age": "22"},
{"name": "sofia", "age": "14"}]
思路
除了最后一行,每一行后面都添加一个
,
,因此需要先把最后一样获取出来,然后处理每一行。
echo -n "[" >> $file"-format" # 不换行输出'['到文件
tail=`tail -1 $file`"]" # 获取最后一行
head -n -1 $file | sed 's/$/&,/g' >> $file"-format" # 每一行结尾添加‘,’
echo $tail >> $file"-format"
head -n -1 file
表示输出除了最后一行的数据。
版权声明:本文为vincent_duan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。