bash 相当于 os.walk?

bash equivalent for os.walk?

我正在使用 2to3 修复我的脚本库,它似乎是命令行问题,而不是 shell 问题。

我想从 /home/me/scripts 向下处理所有文件,假设它们以 .py 结尾。有没有一种简单的方法可以为 shell 中我的文件夹下的每个文件执行 2to3 -y 文件名?

find命令:

 find /home/me/scripts  -iname "*.py" -exec 2to3 {} \;

-exec 参数告诉它执行此参数之后的命令,在本例中为 2to3 {}。对于找到的每个文件,{} 替换为该文件的名称。

bash 4 提供了一种递归 globbing 的方法。

shopt -s globstar
2to3 /home/me/scripts/**/*.py