gt ~/.m2/repository find . -name "*.jar" | wc -l [1497] 2498This task can be completed in 4 simple steps:
1. Find all jar files:
gt ~/.m2/repository find . -type f -name "*.jar" [1499] ./commons-pool/commons-pool/1.6/commons-pool-1.6.jar ./commons-pool/commons-pool/1.5.7/commons-pool-1.5.7.jar ./xalan/xalan/2.7.1/xalan-2.7.1.jar ./xalan/serializer/2.7.1/serializer-2.7.1.jar ./joda-time/joda-time/2.3/joda-time-2.3.jar ./joda-time/joda-time/2.1/joda-time-2.1.jar ./xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar ...-type f - means that find looks only for flat files
-name "*.jar" - looks for files which end with .jar
2. Print out the size of each file:
gt ~/.m2/repository find . -type f -name "*.jar" -exec du -h {} \; [1502] 112K ./commons-pool/commons-pool/1.6/commons-pool-1.6.jar 100K ./commons-pool/commons-pool/1.5.7/commons-pool-1.5.7.jar 3,1M ./xalan/xalan/2.7.1/xalan-2.7.1.jar 272K ./xalan/serializer/2.7.1/serializer-2.7.1.jar 568K ./joda-time/joda-time/2.3/joda-time-2.3.jar 560K ./joda-time/joda-time/2.1/joda-time-2.1.jar 1,2M ./xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar 1,4M ./xerces/xercesImpl/2.11.0/xercesImpl-2.11.0.jar ...-exec du -h {} - executes du -h on each result ({} - result placeholder)
3. Sort files by size:
gt ~/.m2/repository find . -type f -name "*.jar" -exec du -h {} \; | sort -hr [1506] 46M ./org/glassfish/extras/glassfish-embedded-all/3.0.1/glassfish-embedded-all-3.0.1.jar 25M ./com/vaadin/vaadin-client-compiler-deps/1.0.2/vaadin-client-compiler-deps-1.0.2.jar 22M ./com/censored 21M ./com/liferay/portal/portal-impl/6.1.0/portal-impl-6.1.0.jar 20M ./org/robotframework/robotframework/2.8.3/robotframework-2.8.3.jar 16M ./com/vaadin/vaadin-client/7.1.0/vaadin-client-7.1.0.jar ...In this step all the results returned by find are being piped to sort.
-r - reversed order
-h - human readable form
4. Show only 10 files:
gt ~/.m2/repository find . -type f -name "*.jar" -exec du -h {} \; | sort -hr | head -n 10 [1507] 46M ./org/glassfish/extras/glassfish-embedded-all/3.0.1/glassfish-embedded-all-3.0.1.jar 25M ./com/vaadin/vaadin-client-compiler-deps/1.0.2/vaadin-client-compiler-deps-1.0.2.jar 22M ./com/censored 21M ./com/liferay/portal/portal-impl/6.1.0/portal-impl-6.1.0.jar 20M ./org/robotframework/robotframework/2.8.3/robotframework-2.8.3.jar 16M ./com/vaadin/vaadin-client/7.1.0/vaadin-client-7.1.0.jar 16M ./com/censored 14M ./org/scala-lang/scala-compiler/2.11.5/scala-compiler-2.11.5.jar 14M ./org/scala-lang/scala-compiler/2.10.3/scala-compiler-2.10.3.jar 13M ./com/cenqua/clover/clover/3.1.2/clover-3.1.2.jarI'm pretty sure that there's linux command which does the same but on the other hand this short example shows how powerful find is.
No comments:
Post a Comment