如何删除具有相同模式的不同JSON文件行?
您好我有5000
线JSON文件,很多线路的一部分,遵循相同的模式是这样的:如何删除具有相同模式的不同JSON文件行?
[
{"a":"c", "b":"e", "i":"a"},
{"a":"c", "b":"/", "i":"a"},
{"a":"c", "b":"/", "i":"a"},
{"a":"c", "b":"e/esa", "i":"a"},
{"a":"i", "b":"a/e/", "i":"ah"},
]
而且我想删除与"b":"/"
所有行,我想这最后文件:
[
{"a":"c", "b":"e", "i":"a"},
{"a":"c", "b":"e/esa", "i":"a"},
{"a":"i", "b":"a/e/", "i":"ah"},
]
我怎样才能做到这一点在击?谢谢。
这里是一个解决方案使用sed
:
$ sed -i '/ b:\/,/'d x.j
现在用编辑的问题? –
像这样:'$ sed -i'/“b”:“\ /”,/'d x.j' –
编辑为了回答这个更新的问题:
用sed:
$ cat testfile
[
{"a":"c", "b":"e", "i":"a"},
{"a":"c", "b":"/", "i":"a"},
{"a":"c", "b":"/", "i":"a"},
{"a":"c", "b":"e/esa", "i":"a"},
{"a":"i", "b":"a/e/", "i":"ah"},
]
$ sed -i '/"b":"\/",/d' testfile
$ cat testfile
[
{"a":"c", "b":"e", "i":"a"},
{"a":"c", "b":"e/esa", "i":"a"},
{"a":"i", "b":"a/e/", "i":"ah"},
]
现在和编辑的问题? –
@JoanTriay更新了我的答案 – timgeb
@马克-B Soultion它的工作原理很好,谢谢!
grep -v 'b:/' file.txt > newfile.txt
如果这真的是你的文件的样子,我不认为它是JSON。 –
你问一个解决方案“在Bash”。你的意思是只使用bash builtins,或者解决方案是否可以调用外部程序? –
只有bash的命令,用sed,awk的... –