From: paul Date: Mon, 10 Oct 2011 23:40:29 +0000 (+0000) Subject: speed optimization (replaced some pipe connected tools with sed) X-Git-Url: http://git.plutz.net/?p=busy;a=commitdiff_plain;h=09f3ddead92e8716eabbe3e4dccd415c5a3472b0 speed optimization (replaced some pipe connected tools with sed) svn path=/trunk/; revision=15 --- diff --git a/Tasks.page b/Tasks.page index 6274be8..20f5e0f 100644 --- a/Tasks.page +++ b/Tasks.page @@ -1,11 +1,11 @@ #!/bin/zsh -info="$(egrep -o '(^|&)(i=)[0-9]{10}_[0-9]{3}(&|$)' <<<"${QUERY_STRING}" |tr -d '&i=')" -edit="$(egrep -o '(^|&)(e=)[0-9]{10}_[0-9]{3}(&|$)' <<<"${QUERY_STRING}" |tr -d '&e=')" -search="$(egrep -o '(^|&)(s=).+(&|$)' <<<"${QUERY_STRING}" |sed -r 's:^&?s=::;s:\+: :g;s:%:\\x:g')" -search="$(echo -e "${search}" |sed 's:\t: :g;s:\r::g;s:\\:\\\\:g' |head -n1)" -new="$(egrep -o '(^|&)(n=).+(&|$)' <<<"${QUERY_STRING}" |sed -r 's:^&?n=::;s:\+: :g;s:%:\\x:g')" -new="$(echo -e "${new}" |sed 's:\t: :g;s:\r::g;s:\\:\\\\:g' |head -n1)" +info="$(sed -rn 's:(^|.*&)i=([0-9]{10}_[0-9]{3}).*|.*:\2:;s:&.*::' <<<"${QUERY_STRING}")" +edit="$(sed -r 's:(^|.*&)e=([0-9]{10}_[0-9]{3}).*|.*:\2:;s:&.*::' <<<"${QUERY_STRING}")" +search="$(sed -r 's:(^|.*&)s=(.*)|.*:\2:;s:&.*::;s:\+: :g;s:%:\\x:g' <<<"${QUERY_STRING}")" +search="$(echo -e "${search}" |sed -rn '1{s:\t: :g;s:\r::g;s:\\:\\\\:g;p}')" +new="$(sed -r 's:(^|.*&)n=(.*)|.*:\2:;s:&.*::;s:\+: :g;s:%:\\x:g' <<<"${QUERY_STRING}")" +new="$(echo -e "${new}" |sed -rn '1{s:\t: :g;s:\r::g;s:\\:\\\\:g;p}')" cat < @@ -18,9 +18,9 @@ cat <Tasks search results for: $search" - for each in $(grep -ile "$search" Tasks/<0000000000-9999999999>_<000-999>.task); do + for each in $(grep -ile "$search" Tasks/<0000000000-9999999999>_<000-999>); do id=$(sed -r 's:^.*/::;s:.task$::' <<<$each) - echo "
' TaskEnd [ -z "$new" ] && stat -c '' Tasks/<0000000000-9999999999>_<000-999>.meta && for each in Tasks/<0000000000-9999999999>_<000-999>.meta(.om); do - headline="$(egrep -x 'headline=.+' "$each" |sed 's:headline=::')" - status="$(egrep -x 'status=.+' "$each" |sed 's:status=::')" - section="$(egrep -x 'section=.+' "$each" |sed 's:section=::')" - attendant="$(egrep -x 'attendant=.+' "$each" |sed 's:attendant=::')" + info="$(basename "$each" |sed 's:.meta$::')" + headline="$(sed -rn '/^headline=/{s:^[a-z]+=(.+)$:\1:p;q}' "$each")" + taskstatus="$(sed -rn '/^status=/{s:^[a-z]+=(.+)$:\1:p;q}' "$each")" + section="$(sed -rn '/^section=/{s:^[a-z]+=(.+)$:\1:p;q}' "$each")" + attendant="$(sed -rn '/^attendant=/{s:^[a-z]+=(.+)$:\1:p;q}' "$each")" cat < - $headline
- Status: $status - Section: $Section + $headline
+ Status: $taskstatus + Section: $section Attendant: $attendant
TasksEND