循环“find...-type f”:通过 dir/subdir 获取文件名,输出名为 dir_subdir_fname.txt 的 txt

循环“find...-type f”:通过 dir/subdir 获取文件名,输出名为 dir_subdir_fname.txt 的 txt

我的数据结构是这样的:

dir1/subdir1_level1/subdir1_level2.../subdir1_leveln
dir1/subdir2_level1/subdir2_level2.../subdir2_leveln
...

这意味着我正在使用的关卡结构不正确。我成功地实现了根据路径的前两层获取文件名的目标,并将它们输出到名为 dirn_subdirn_fname.txt 的文本文件中:

find dir1/subdir1 -type f -printf "%f\n">dir1_subdir1_fname.txt

但我想知道是否有一种方法可以在多个目录/子目录的列表中迭代此过程

编辑:我找到了一种方法来完成第一部分:

#!/bin/bash

shopt -s dotglob nullglob

topdir= './Dir1'

 for subdir in "$topdir"; do
    find "$subdir" -type f -printf "%f\n"
done

答案1

Kindly try with below script

it will print up to 9 subdirectories  files using find command keyword maxdepth


    for i in {1..9}; do echo "below are files under $i steep afer parent path subdirectory"; find . -maxdepth $i -type f;echo "================================"; done

相关内容