I need to have files from many 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?
Thanks in advance
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}
Try for f in ./{test1,test2,test3}/*
or for f in ./*/*
depending on what you want.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With