linux 多个文件夹中文件的For循环- bash shell

fnatzsnv  于 2022-12-03  发布在  Linux
关注(0)|答案(2)|浏览(217)

我需要在for循环中包含多个目录中的文件。现在,我有以下代码:

for f in ./test1/*;
...
for f in ./test2/*;
...
for f in ./test3/*;
...

在每一个循环中我都在做同样的事情。有没有办法从多个文件夹中获取文件?

xe55xuns

xe55xuns1#

根据您的需要尝试for f in ./{test1,test2,test3}/*for f in ./*/*

ejk8hzay

ejk8hzay2#

您可以为for给予多个“单词”,因此最简单的答案是:

for f in ./test1 ./test2 ./test3; do
  ...
done

然后有各种技巧来减少打字的数量;即滴状扩张和拉条扩张。

# the shell searchs for matching filenames 
for f in ./test?; do 
...
# the brace syntax expands with each given string
for f in ./test{1,2,3}; do
...
# same thing but using integer sequences
for f in ./test{1..3}

相关问题