Created
October 5, 2011 21:39
-
-
Save pjkix/1265822 to your computer and use it in GitHub Desktop.
Revisions
-
pjkix created this gist
Oct 5, 2011 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,101 @@ #!/bin/bash ## v1.0.6 ## this script will gernerate css stats ### example output # CSS STATS # ---------- # Floats: 132 # Headings: 107 # Margins: 432 # Paddings: 463 # Font-Sizes: 170 # Importants: 56 echo 'CSS STATS' echo '=========' echo echo 'General: ' echo '----------' ## number of files echo -n "Number of CSS files: " ack --css -f | wc -l ## number of lines # ack --nogroup --css --passthru * | wc -l | xargs echo "Number of Lines of Code (LoC)" ## longest file echo 'File Length (LoC):' find . -iname "*.css" | xargs wc -l | sort -r echo echo 'File Size (KBytes)' # find . -iname "*.css" | xargs ls -l | awk '{print $5 "\t" $9}' | sort -nr ## Bytes # find . -iname "*.css" | xargs ls -l | awk '{printf("%.1fK\t", $5 / 1024); print "\t" $9}' | sort -nr ## KB find . -iname "*.css" -print0 | xargs -0 du -hsc | sort -nr ## block size # find . -iname "*.css" -print0 | du -hsc ## block size # stat -f "%z Bytes" stats.sh ## actual file size in bytes echo echo 'Props: ' echo '----------' ## append search results # echo -n "test:" echo -n "Floats: " ack --nogroup --css float | wc -l echo -n "Headings: " ack --nogroup --css h[1-6] | wc -l echo -n "Margins: " ack --nogroup --css margin | wc -l echo -n "Margins 0: " ack --nogroup --css --match="margin-?(top|right|bottom|left)?\s*:\s*0" | wc -l echo -n "Paddings: " ack --nogroup --css padding | wc -l echo -n "Padding 0: " ack --nogroup --css --match="padding-?(top|right|bottom|left)?\s*:\s*0" | wc -l echo -n "Font-Sizes: " ack --nogroup --css font-size | wc -l echo -n "Importants: " ack --nogroup --css important | wc -l echo ## colors echo 'Colors:' echo '----------' echo -n "Hex: " ack --nogroup --css --match="#[0-9a-fA-F]{3,6}" -o -h | wc -l echo -n "RGB(a): " ack --nogroup --css --match="rgba?\w*\(.*\)" -o -h | wc -l echo ### unique echo 'Unique Colors:' echo '----------' echo -n 'Hex: ' ack --nogroup --css --match="#[0-9a-fA-F]{3,6}" -o -h | sort | uniq -i -c | wc -l echo ack --nogroup --css --match="#[0-9a-fA-F]{3,6}" -o -h | sort | uniq -i -c | sort -r echo echo -n 'RGB(a): ' ack --nogroup --css --match="rgba?\w*\(.*\)" -o -h | sort | uniq -i -c | wc -l echo ack --nogroup --css --match="rgba?\w*\(.*\)" -o -h | sort | uniq -i -c | sort -r echo ## Images echo "Images:" echo '----------' echo -n "URLs:" ack --nogroup --css --match="url\w?\(.*\)" -o -h | wc -l ### unique urls echo -n "Unique URLs:" ack --nogroup --css --match="url\w?\(.*\)" -o -h | sort | uniq -i -c | wc -l echo ack --nogroup --css --match="url\w?\(.*\)" -o -h | sort | uniq -i -c | sort -r