首页 > 解决方案 > 仅循环通过子目录

问题描述

我有以下目录结构

mkdir -p joe/{0,1}
mkdir -p john/0

tree 
.
├── joe
│   ├── 0
│   └── 1
└── john
    └── 0

我想为每个条目调用一个程序,在这种情况下,该程序应该被调用 3 次,program joe/0forprogram joe/1program john/0

如何在纯 bash 脚本中执行此操作?

提前致谢。

标签: bashshellcommand-line-interface

解决方案


循环通过./*/*/

for arg in ./*/*/; do
  program "$arg"
  # if you don't want the trailing slash:
  # program "${arg%/}"
done

这称为文件名扩展,并在此处记录。


推荐阅读