spk annotate spk-find @ rev 137

spk-find: fix count
author Christophe Lincoln <pankso@slitaz.org>
date Sun Mar 30 18:34:55 2014 +0200 (2014-03-30)
parents aded92d8f7bf
children aeb1c73f12f3
rev   line source
pankso@135 1 #!/bin/sh
pankso@135 2 #
pankso@135 3 # Spk-find - Find/search SliTaz packages and files. Read the README before
pankso@135 4 # adding or modifying any code in spk!
pankso@135 5 #
pankso@135 6 # Copyright (C) SliTaz GNU/Linux - BSD License
pankso@135 7 # Author: See AUTHORS files
pankso@135 8 #
pankso@135 9 . /usr/lib/slitaz/libspk.sh
pankso@135 10
pankso@135 11 #
paul@136 12 # Quick coded tool to have a simple find/search packages tool for people
paul@136 13 # using spk toolkit. TODO: find files, find in pkg desc for pattern, display
pankso@135 14 # status (installed or not).
pankso@135 15 #
pankso@135 16
pankso@135 17 find="$1"
pankso@135 18 count="/tmp/spk/count"
pankso@135 19 mkdir -p $(dirname $count)
pankso@135 20
pankso@135 21 #
pankso@135 22 # Functions
pankso@135 23 #
pankso@135 24
pankso@135 25 # Help and usage
pankso@135 26 usage() {
pankso@135 27 name=$(basename $0)
pankso@135 28 cat << EOT
pankso@135 29
pankso@135 30 $(boldify $(gettext "Usage:")) $name [package]
pankso@135 31
pankso@135 32 EOT
pankso@135 33 exit 0
pankso@135 34 }
pankso@135 35
pankso@135 36 case "$1" in
pankso@135 37 *help|usage) usage && exit 0 ;;
pankso@135 38 esac
pankso@135 39
pankso@135 40 newline
pankso@135 41 boldify $(gettext "Spk find: $find")
pankso@135 42 separator
pankso@137 43
pankso@135 44 IFS="|"
pankso@135 45 grep "$find" $pkgsdesc | while read pkg vers desc null
pankso@135 46 do
pankso@135 47 echo "$pkg" >> $count
pankso@135 48 echo -n "$pkg"; indent 16 "$desc"
pankso@135 49 done
pankso@135 50 unset IFS
pankso@137 51
pankso@137 52 if [ -f "$count" ]; then
pankso@137 53 count=$(cat $count | wc -l)
pankso@137 54 color=32
pankso@137 55 else
pankso@137 56 count=0
pankso@137 57 color=31
pankso@137 58 fi
pankso@135 59 separator
pankso@137 60 boldify "Packages found: $(colorize $color $count)" && newline
pankso@135 61 rm -rf $count
pankso@135 62 exit 0