这是一个关于尽量减少bash脚本中副作用的理论问题。
我最近在嵌套目录结构中使用了一种简单的机制来格式化一堆json文件......
for f in `find ./ -name *json`; do echo $f ; python -mjson.tool $f > /tmp/1 && cp /tmp/1 $f ; done.
机制只是
有没有办法做到这一点更优雅,即副作用最小?我假设bash专家有更好的方法来做这类事情。
答案 0 :(得分:4)
基于流媒体工作的Unix工具 - 它们不会立即将所有文件内容存储在内存中。因此,您必须使用中间位置,因为您将覆盖当前正在读取的文件。
您可能会认为您的代码段不具备容错能力。如果你犯了错误,你就会覆盖所有数据。您应该将输出存储在新位置,验证,然后移动到覆盖。 :)
答案 1 :(得分:1)
使用Eclipse IDE,我们可以实现多个JSON文件的格式化
将文件导入eclipse,然后选择文件(要格式化)或文件夹(对于所有文件),然后右键单击->源->格式
答案 2 :(得分:0)
我一直在寻找相似的东西,只是注意到我可以选择VSCode文件面板中的所有JSON文件,然后按CTRL +单击>“格式”。一次性执行就像魔术一样,它可以就地格式化文件。