From 114211b3bf6aeec4f2a56b8b9a93779df5719246 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Paul=20H=C3=A4nsch?= Date: Mon, 23 Jul 2018 22:54:59 +0200 Subject: [PATCH] speed up tag genration --- widgets.sh | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/widgets.sh b/widgets.sh index f649306..a7fb633 100644 --- a/widgets.sh +++ b/widgets.sh @@ -196,8 +196,11 @@ w_advsearch(){ printf '%s\n' "$w_tags" \ | { [ "$category" = '*' ] && grep -avF ':' || grep -awF "${category}"; } \ - | { for n in 1 2 3 4 5 6 7 8 9 0; do line || break; done; sort; } \ - | while read -r tag; do + | { for n in 1 2 3 4 5 6 7 8 9 0; do + read -r line && printf '%s\n' "$line" || break; + done; # path 10 lines through without modification + sort; # and sort remaining lines + } | while read -r tag; do [ "$tag" ] || continue t=''; [ ! "${f%%*|${tag}|*}" ] && t=checked printf '[option %s value="%s"\n%s]' "$t" "$tag" "${tag#*:}" @@ -229,8 +232,11 @@ w_tagging(){ printf '[fieldset [legend %s:][select name=tag size=4 multiple' "$category" printf %s "$w_tags" \ | { [ "$category" = 'Tags' ] && grep -avF ':' || grep -awF "${category}"; } \ - | { for n in 1 2 3 4 5 6 7 8 9 0; do line || break; done; sort; } \ - | while read -r tag; do + | { for n in 1 2 3 4 5 6 7 8 9 0; do + read -r line && printf '%s\n' "$line" || break + done; + sort; + } | while read -r tag; do [ "$tag" ] || continue printf '[option value="%s"\n%s]' "$tag" "${tag#*:}" done -- 2.39.2