Search Sass for Extended Classes and show a report
#!/bin/bash
if [[ "$1" == "" ]]; then
echo "Please pass in the path to the Sass directory to search for extended class"
exit 1
fi
dir="$1"
uses="$(grep -rn "@extend \." "$dir")"
IFS=$'\n'
classes=""
for i in $uses; do
file="$(echo "$i" | sed "s,:.*,,")"
class="$(echo "$i" | sed "s,.*\@extend ,," | sed "s,;.*,,")"
classes="$(echo "$class" | sed "s, ,,")
"
line="$(echo "$i" | sed "s,$file,," | sed "s,$class,," | sed "s,@extend.*,,")"
echo "In file: $(echo "$file" | sed "s,$dir,,")"
echo "$class is extended on line $line"
echo ""
done
echo "Top 20 most extended classes:"
echo "$(grep -r "@extend \." "$dir" | sed "s,.*@extend ,," | sed "s,;.*,," | sort | uniq -c | sort -rn | head -20)"
unset IFS