Skip to content

Instantly share code, notes, and snippets.

@bskiefer
Last active May 18, 2022 17:57
Show Gist options
  • Save bskiefer/517ab1ed5de1b08a02fd9a05873ca450 to your computer and use it in GitHub Desktop.
Save bskiefer/517ab1ed5de1b08a02fd9a05873ca450 to your computer and use it in GitHub Desktop.
List & delete all node_modules and vendor directories recursively

Output:

293M /Users/name/repos/app1/vendor

504M /Users/name/repos/app1/node_modules

423M /Users/name/repos/app2/node_modules

View folders sizes:

find ~/repos -type d \( -name "vendor" -o -name "node_modules" \) -exec du -sh {} \; -maxdepth 2

Delete folders

find ~/repos -type d ( -name "vendor" -exec du -sh {} ; -o -name "node_modules" -exec du -sh {} ; ) -exec rm -rf {} ; -maxdepth 2

Function dsize

dsize ~/repos vendor

function dsize() {
  find $1 -type d \( -name "$2" \) -exec du -s {} \; -maxdepth 2 | awk '{
              print;
              total += ($1 * 1024)
          }; END {
              if (total < 1024)
                  print "\t\ttotal: ",total;
              else if (total < (1024 * 1024))
                  print "\t\ttotal: ",total/1024,"KB";
              else if (total < (1024 * 1024 * 1024))
                  print "\t\ttotal: ",total/(1024*1024),"MB";
              else if (total < (1024 * 1024 * 1024 * 1024))
                  print "\t\ttotal: ",total/(1024*1024*1024),"GB";
          }'
}
@bskiefer
Copy link
Author

bskiefer commented Dec 2, 2021

Output:

293M /Users/name/repos/app1/vendor

504M /Users/name/repos/app1/node_modules

423M /Users/name/repos/app2/node_modules

View folders sizes:

find ~/repos -type d \( -name "vendor" -o -name "node_modules" \) -exec du -sh {} \; -maxdepth 2

Delete folders

find ~/repos -type d \( -name "vendor" -exec du -sh {} \; -o -name "node_modules" -exec du -sh {} \; \) -exec rm -rf {} \; -maxdepth 2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment