如何json格式化和覆盖多个文件?

问题描述 投票:0回答:1

我有几个未格式化的json文件,我想“美化”,所以它们更具人性化。我通常为单个文件执行的方式是:

python -m json.tool < infile > outfile

但是对于几个文件我没有找到处理它们的方法并用新的“漂亮”json覆盖相同的文件。

我得到的最接近的是:

find ./ -type f -exec python -m json.tool {} \;

但它会将所有内容打印到标准输出,这很好但不是最佳,具体取决于您正在查看的文件数量。有没有办法让上面的命令覆盖带有美化json的文件?

调用文件:message1.json,message2.json等等......

提前致谢

python json bash shell command-line
1个回答
1
投票

试试:

find . -type f -exec sh -c 'python -m json.tool $0 > $0.pretty' {} \;

请参阅https://stackoverflow.com/a/12965441/4886927了解详细说明

通过这种方式,原始文件将被新的文件覆盖:

find . -type f -exec sh -c 'python -m json.tool < $0 > /tmp/pretty.json && mv  /tmp/pretty.json $0' \;
© www.soinside.com 2019 - 2024. All rights reserved.