]> git.plutz.net Git - serve0/blobdiff - widgets.sh
Merge commit '00aa1675c49f23eb075d1fc7ceb69bac5e1ba83c'
[serve0] / widgets.sh
index f79d457303b672eeb0ea35ab00478d531dfba131..6af562e84cb4f4e7fa6e3d703472e8df144737db 100644 (file)
@@ -15,19 +15,18 @@ if [ ! -s "$c_tags" -o ! -s "$c_tagcategories" ] \
    || [ "$(find "$_DATA/" -path '*/.index/meta' -newer "$c_tags")" ]
   then
   w_tags="$( cn=1
-    find "$_DATA/" -path '*/.index/meta' -exec \
-      sed -E 's;^.*\t.*\t.*\ttags=(.*)\tcomment=.*\t.*\r$;\1;;
-              s;,;\n;g;' \
-      '{}' + \
-    | UNSTRING \
+    find "$_DATA/" -path '*/.index/meta' -print0 \
+    | xargs -0 -r sed -E '
+      s;^.*\t.*\t.*\ttags=(.*)\tcomment=.*\t.*\r$;\1;;
+      s;,;\n;g;' \
     | { sort; printf '\n'; } \
     | while read -r tag; do
-      [ "$tag" = "$otag" ] \
-      && cn=$((cn + 1)) \
-      || {
-        printf "%i     %s\n" "$cn" "$otag"
+      if [ "$tag" = "$otag" ]; then
+        cn=$((cn + 1))
+      else
+        printf "%i     %s\n" "$cn" "$(UNSTRING "$otag")"
         cn=1
-      }
+      fi
       otag="$tag"
     done \
     |sort -rn |cut -f2- |HTML \