我如何通过目录树递归工作并对每个文件执行特定命令,并将路径、文件名、扩展名、文件大小和其他一些特定文本输出到 bash 中的单个文件。
我找到了一个递归打印完整目录树的脚本,但我无法理解。谁能完整描述一下?我刚刚开始编写 shell 脚本。这是代码:
#!/bin/bash
walk() {
local indent="${2:-0}"
printf "%*s%s\n" $indent '' "$1"
for entry in "$1"/*; do
[[ -d "$entry" ]] && walk "$entry" $((indent+4))
done
}
walk "$1"
Run Code Online (Sandbox Code Playgroud)