循环遍历 bash 中的子文件夹

时间:2021-07-19 13:54:41

标签: linux bash for-loop

我对 bash 语言非常熟悉,但我遗漏了几个关键概念。 请原谅我的无知。

我的结构是

folder A
   |--- folderB1q/output/output.csv
   |--- folderB2q/output/output.csv
   |--- ...
   |--- folderB100q/output/output.csv

我想从文件夹 A 中读取 bash 中的每个 output.csv 文件并在其上应用一个函数。我已经测试了我的功能,当我转到文件目录时它可以工作。 我有数千个目录...

for each in *q/output/ 
do
my function .......
done

感谢您的宝贵时间,并为我糟糕的编码感到抱歉

1 个答案:

答案 0 :(得分:2)

<块引用>

每个输出.csv

然后循环遍历 output.csv 个文件。

for each in */output/output.csv
do
    my function "$each"
done
<块引用>

虽然我有数千个目录...

对于许多目录,使用 shell 循环可能会占用大量内存,因为 shell.使用 find

find . -type f -mindepth 3 -maxdepth 3 -path '.*/output/output.csv' |
xargs -d'\n' -n1 my_command
相关问题