递归处理UNIX目录中的文件

我已经制作了一个脚本(convert.sh)以漂亮的打印格式转换json文件。例如,

convert.sh source.json

它将替换source.json文件,并以漂亮的打印格式覆盖自身。

convert.sh的内容

#!/bin/bash
INFILE=$1
python -m json.tool $INFILE > $INFILE.tmp
mv $INFILE.tmp $INFILE

对于一个文件,它工作得很好。但是,我想处理目录下的所有文件。例如

dir1\file1.json
dir1\file2.json
dir1\subdir\abc.json
dir1\subdir2\def.json
...

有任何一行命令可以做到这一点吗?我试过了

find dir1 | grep .json | xargs convert.sh

但没有成功。请帮助。非常感谢!

让·巴蒂斯特·尤涅斯(Jean-BaptisteYunès)

用途find:(1)搜索文件匹配某种模式(2)启动你的脚本上的每个找到的文件:

find dir1 -name "*.json" -exec convert.sh {} \;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章