Problem
You want to run a shell command in many directories. For example, in my case, I wanted to execute a shell command in lots of directories(approx. 200) to clean up build files.
Solution
Writing a for-loop and running it on the shell did the trick for me.
for d in ./*/ ; do (cd "$d" && mvn clean); done
Explanation
The above for-loop would run cd "$d" && mvn clean
in each item of the directory list defined by the path ./*/
. $d
holds the directory name. You can be creative in defining the list of directories using a complex glob as well.
I hope this helps you as well.
Top comments (6)
find . -name pom.xml -exec mvn clean .... \;
Thanks!
find
is something I wish to use more.Very nearly the same, here's my "inall" script:
cool! neater than what I used!
This lil snippet of code is golden. Thanks for sharing!
Glad you like it :)