我对 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
感谢您的宝贵时间,并为我糟糕的编码感到抱歉
答案 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