java – 根据其中一个属性删除重复的JSON文件
发布时间:2020-12-15 08:29:02 所属栏目:Java 来源:网络整理
导读:我的 linux系统中有两个目录,/ dir和/ dir2 两者都有超过4000个JSON文件.每个文件的JSON内容都是这样的 { "someattribute":"someValue","url":[ "https://www.someUrl.com/xyz" ],"someattribute":"someValue"} 请注意,url是一个数组,但它始终包含一个元素(u
我的
linux系统中有两个目录,/ dir和/ dir2
两者都有超过4000个JSON文件.每个文件的JSON内容都是这样的 { "someattribute":"someValue","url":[ "https://www.someUrl.com/xyz" ],"someattribute":"someValue" } 请注意,url是一个数组,但它始终包含一个元素(url). 该URL使该文件唯一.如果/ dir和/ dir2中存在具有相同URL的文件,则它是重复的,需要将其删除. 我想优先使用shell命令自动执行此操作.任何意见我应该如何去做? 解决方法
使用
jq获取重复列表:
jq -nr 'foreach inputs.url[0] as $u ( {}; .[$u] += 1; if .[$u] > 1 then input_filename else empty end )' dir/*.json dir2/*.json 要删除它们,请将命令输出上方的管道输出到xargs: xargs -d $'n' rm -- 或者,为了与具有-0但不是-d的非GNU xargs兼容: tr 'n' ' ' | xargs -0 rm -- 请注意,文件名不得包含换行符. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |