开发者

For loop for files in multiple folders - bash shell

I need to have files from man开发者_如何学Pythony directories in a for loop. As for now, I have the following code:

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

In each loop I'm doing the same thing. Is there a way to get files from multiple folders?


Try for f in ./{test1,test2,test3}/* or for f in ./*/* depending on what you want.


You can give multiple "words" to for, so the simplest answer is:

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

There are then various tricks to reduce the amount of typing; namely globbing and brace expansion.

# 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}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜