在unix中如何在json文件中添加新行字符

hxzsmxv2  于 2021-06-26  发布在  Hive
关注(0)|答案(2)|浏览(257)

我有一些json文件,其中没有新行字符(\n)。因此,当我尝试加载配置单元表中的文件时,一些数据被忽略。如何在json文件中的每个json对象代表表中的一行之后插入新行字符?

4c8rllxm

4c8rllxm1#

下载 jq 使用最小过滤器:

jq . inputfile
xienkqul

xienkqul2#

如果json总是以相同的属性开始,那么可以将其用作确定新json对象开始的签名,并用 \n<signature> 例如 {"id":"12","name":"Nick"}{"id":"13","name"="Bob"} 在这种情况下,开始签名是 {"id": ,应替换为 \n{"id": 例如,使用perl:

echo '{"id":"12","name":"Nick"}{"id":"13","name"="Bob"}' | perl -pe 's/(\{\"id\":)/\n$1/g'

输出:

{"id":"12","name":"Nick"}
{"id":"13","name"="Bob"}

它会产生一个额外的 \n 开始时,在加载或使用时跳过它 tblproperties("skip.header.line.count"="1") .

相关问题