shell脚本以递归方式遍历文件

Kir*_*rby 3 shell scripting file

我需要一些帮助来创建一个shell脚本来运行文件夹中每个文件的特定命令(任何),以及递归地潜入子目录.

我不知道如何开始.

正确方向上的一点就足够了.谢谢.

mvd*_*vds 8

要将命令(例如echo)应用于当前路径下的所有文件,请使用

find . -type f -exec echo "{}" \;
Run Code Online (Sandbox Code Playgroud)

对于目录,使用 -type d


pax*_*blo 7

你应该看看find命令.

例如,要更改目录下所有JPEG文件的权限/tmp:

find /tmp -name '*.jpg' -exec chmod 777 {} ';'
Run Code Online (Sandbox Code Playgroud)

虽然,如果有很多文件,你可以将它与xargs它们组合起来,例如:

find /tmp -name '*.jpg' | xargs chmod 777
Run Code Online (Sandbox Code Playgroud)

并且,在支持null分离的实现findxargs支持null分离:

find /tmp -name '*.jpg' -print0 | xargs -0 chmod 777
Run Code Online (Sandbox Code Playgroud)