Take extra.txt into account + fix multi-word search

master
tYYGH 2016-02-02 11:21:08 +01:00
parent ef074cebe0
commit d015238e2c
1 changed files with 10 additions and 3 deletions

View File

@ -200,12 +200,19 @@ Q)
if [ ${#words[*]} -gt 0 ] && [ -n "$found" ]; then
# This is an AND
tmpf="$(
eval grep -Ho "'>[^<>]*</span'" ${found//|/paper.*.words} 2>/dev/null \
| sed 's#</span$##;s#&lt;#<#g;s#&gt;#>#g;s#&amp;#\&#g')"
{ find ${found//|/} -name extra.txt -type f -print | xargs --no-run-if-empty grep -HoE '\w+'
eval grep -Ho "'>[^<>]*</span'" ${found//|/paper.*.words} 2>/dev/null \
| sed 's#</span$##;s#^>##;s#&lt;#<#g;s#&gt;#>#g;s#&amp;#\&#g'
} | sort -u | awk -F: '
$1==prevf { prevm=prevm " " $2 }
$1!=prevf && NR>1 { printf("%s: %s\n", prevf, prevm) }
$1!=prevf { prevf=$1; prevm=$2 }
END { if (prevm!="") printf("%s: %s\n", prevf, prevm) }
')"
for w in "${words[@]}"; do
tmpf="$(grep -hF${q_ci:+i}e "$w" <<<"$tmpf")"
done
found="$(cut -d: -f1 <<<"$tmpf" | sed 's#paper\.[0-9]*\.words$#|#' | sort -u)"
found="$(cut -d: -f1 <<<"$tmpf" | sed 's#/[^/]*$#/|#' | sort -u)"
## That would be an OR (for later, perhaps)
#found="$(
# eval grep -Ho "'>[^<>]*</span'" ${found//|/paper.*.words} 2>/dev/null \