将 SED 与新行一起使用
Posted
技术标签:
【中文标题】将 SED 与新行一起使用【英文标题】:Using SED with new lines 【发布时间】:2021-09-01 11:47:44 【问题描述】:我有一些 JSON 文件,我需要在 之后和新行之前添加一个
,
。文件的当前格式如下所示:
"some_text"
"version":"1.0",
这是我当前的命令:
sed -i '.json' 's/\\n/\,\n/g' file
.
在文件内进行搜索和替换时,正则表达式有效,但我无法弄清楚批量编辑所需的命令行
【问题讨论】:
【参考方案1】:这可能对你有用(GNU sed):
sed -i 's/$/&,/' file
Sed 用换行符分隔它呈现给模式空间的行,因此行尾使用锚点 $
表示换行符之前的位置,因此正则表达式 $
表示 \n
。
另一种方法是使用:
sed -zi 's/\n/,\n/g' file
这会将文件拖入内存,并且全局替换替换匹配项。
【讨论】:
以上是关于将 SED 与新行一起使用的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 sed 在特定行上方的 shell 文件中添加新行
使用 sed / awk / bash 将缺失的行号填充到文件中
如何将 Spark/Scala RDD 合并/加入到 List 中,以便 RDD 中的每个值与每个 List 项一起获得一个新行