对路径的文件进行迭代的Bash脚本



我有这个文件夹架构

folder
folder 1 (1)/
/file1_1.txt
/file2_2.txt
folder 2 (2)/
/file2_1.txt
...
folder N (N)/
/fileN_1.txt
/fileN_2.txt

使用脚本,我想迭代第一级的所有foler(folder1、folder2、folder3),并对每个.txt文件进行操作。

我尝试过的:

folder=$1
length=$(expr length "$folder")
for subfolder in $folder/*;
do
subfoldername=${subfolder:$length+1}
for h in $subfolder/*;
do
echo "h is: "$h
done
done

echo$h显示:

h is: bdcntest/folder
h is: 1
h is: (1)/*
h is: bdcntest/folder
h is: 2
h is: (2)/*

循环";对于$subfolder/*中的h"seams将$subfolder解释为字符串而不是路径。我想文件夹名称中的空格可能是问题所在,但我还没有找到解决方案。

知道吗?

大家好,欢迎来到Stack overflow

如果我正确理解你的问题,你想要这样的东西吗?

find folder/ -name "*.txt" -maxdepth 1 -type f -exec cat {} ;

显然,可以将"cat"更改为任何其他命令,该命令(或程序)将";操作";在目录CCD_ 3中的最大深度为1的CCD_。

显然,folder也可以更改为另一个文件夹。

相关内容

  • 没有找到相关文章

最新更新