使用sed修改最后一行数据

  • Post author:
  • Post category:其他




需求

原始数据文件内容如下:

{"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 版权协议,转载请附上原文出处链接和本声明。