From: Paul Hänsch Date: Fri, 20 Jul 2018 22:42:35 +0000 (+0200) Subject: sort tags by frequency X-Git-Url: http://git.plutz.net/?a=commitdiff_plain;ds=sidebyside;h=21b87390a05a69a53d5c66e385443d1397273f1a;hp=9221d19435d685edf5cf54f4ad7419bc9255996f;p=serve0 sort tags by frequency --- diff --git a/widgets.sh b/widgets.sh index cb5cf97..dd34bc0 100644 --- a/widgets.sh +++ b/widgets.sh @@ -7,12 +7,26 @@ include_widgets="$0" w_refuri="$(URL "$PATH_INFO")?$(HTML "$QUERY_STRING")" -w_tags="$(find "$_DATA/" -path '*/.index/meta' -print0 \ - | xargs -r0 sed -r ' - s;^.*\t.*\t.*\ttags=(.*)\tcomment=.*\t.*\r$;\1;; - s;,;\n;g;'"$UNSTRING" \ - | sort -u |HTML |sed 's;:\;;:;g; s; \;;\n;g;')" -w_tagcategories="$(printf %s "$w_tags" | cut -sd: -f1 | uniq)" +w_tags="$( { + find "$_DATA/" -path '*/.index/meta' -print0 \ + | xargs -r0 sed -r ' + s;^.*\t.*\t.*\ttags=(.*)\tcomment=.*\t.*\r$;\1;; + s;,;\n;g;'"$UNSTRING" \ + | sort \ + | while read tag; do + [ "$tag" = "$otag" ] \ + && cn=$((${cn:-0} + 1)) \ + || { + printf "%i %s\n" "$cn" "$otag" + cn=1 + } + otag="$tag" + done + printf "%i %s\n" "$cn" "$otag" +} |sort -rn |cut -f2- )" +w_tagcategories="$(printf %s "$w_tags" | cut -sd: -f1 | sort -u \ + |HTML |sed 's;:\;;:;g; s; \;;\n;g;')" +w_tags="$( printf %s "$w_tags" |HTML |sed 's;:\;;:;g; s; \;;\n;g;')" [ "$ORDER" = Name ] && w_coname=checked [ "$ORDER" = Date ] && w_codate=checked