使用 bash 列出所有文件夹和子文件夹

Caz*_*azz 4 command-line bash directory

我尝试使用 PHP 读取我的文件夹和子文件夹来创建一个基本菜单供我使用,但我注意到当我这样做时需要一些时间,因为每次我转到页面时它都必须运行它。

然后我在想,为什么不使用 bash 并让它创建一个 PHP 可以读取的文本文件,并让它每天晚上使用 crontab 运行?所以我搜索并尝试过,但这并不容易。

使用此代码,我可以获得一个子文件夹

for D in /var/www/html/lib/*; do
    if [ -d "${D}" ]; then
        echo "${D}"
    fi
done
Run Code Online (Sandbox Code Playgroud)

它给了我

/var/www/html/lib/folder1
/var/www/html/lib/folder2
/var/www/html/lib/folder3
...
Run Code Online (Sandbox Code Playgroud)

但是文件夹都有子文件夹,比如

/var/html/lib/folder1/1990
...
Run Code Online (Sandbox Code Playgroud)

我的想法是做一个循环然后使用

myfolder= "${D}"
addresstoremove="var/www/html/"

printf '%s\n' "${myfolder//$addresstoremove/}" >> textfile.txt
Run Code Online (Sandbox Code Playgroud)

所以它删除了我在 PHP 代码中不需要的地址

Vij*_*jay 5

find /var/www/html/lib/ -type d
Run Code Online (Sandbox Code Playgroud)

或者

find /var/www/html/lib/ -type d >> file.txt
Run Code Online (Sandbox Code Playgroud)

  • @Cazz 搜索管道输出到 `sort` 命令。 (2认同)