3 # is_installed - a script to find if a package
4 # is currently installed on Slackware and derivates
10 PKGS_PATH
="/var/log/packages"
22 function search_file
() {
25 #we don't have a string to search
26 echo -e "Usage: ${MAGENTA}$PROG ${NC}[file-search] ${GREEN}< filename >"
27 echo -e "${RED}exiting${NC}"
30 finding
=$
(grep -Hi "$SEARCH" ${PKGS_PATH}/*)
31 if [[ ! -z $finding ]]; then
35 for line
in $finding; do
36 pkgname
=$
(echo $line | cut
-d":" -f 1)
37 match
=$
(echo $line | cut
-d":" -f 2)
38 if [[ $pkgname != $old_pkgname ]]; then
39 echo -e "${ORANGE}$(basename $pkgname)${NC}"
42 echo -en "\t${GREEN}$match${NC}\n"
46 echo -e "${ORANGE}no match for pattern ${GREEN}'$SEARCH' ${ORANGE}found"
47 echo -e "${RED}exiting${NC}"
52 function search_package
() {
55 #we don't have a string to search
56 echo -e "Usage: ${MAGENTA}$PROG ${GREEN}<filename>"
57 echo -e "${RED}exiting${NC}"
60 finding
=$
(/bin
/ls -1 $PKGS_PATH |
grep -i "$SEARCH")
61 if [[ ! -z $finding ]]; then
62 echo -en "${GREEN}$finding\n"
65 echo -e "${ORANGE}no package matching ${GREEN}'$SEARCH' ${ORANGE}found"
66 echo -e "${RED}exiting${NC}"
74 #we don't have a string to search
75 echo -e "Usage: ${MAGENTA}$PROG ${ORANGE}info ${GREEN}<filename>"
76 echo -e "${RED}exiting${NC}"
79 finding
=$
(/bin
/ls -1 $PKGS_PATH |
grep -i "$SEARCH")
80 if [[ ! -z $finding ]]; then
81 less $PKGS_PATH/$finding
83 echo -e "${ORANGE}no package matching ${GREEN}'$SEARCH' ${ORANGE}found"
84 echo -e "${RED}exiting${NC}"
91 echo -e "${MAGENTA}$PROG${NC} -\tSearch for installed packages in the system"
92 echo -e "\t\tand show which package contains a specific file."
93 echo -e "${GREEN}USAGE:"
94 echo -e "\t${MAGENTA}$PROG ${ORANGE}[ file-search ] [ help ] ${GREEN}< item >"
95 echo -e "\t${MAGENTA}$PROG ${GREEN}<item>${NC} - Search between all installed packages for ${GREEN}item${NC}."
96 echo -e "\t${MAGENTA}$PROG ${ORANGE}file-search ${GREEN}<item>${NC} - Search for ${GREEN}item${NC} inside every package installed."
97 echo -e "\t${MAGENTA}$PROG ${ORANGE}help${NC} - Show this help and exit."
100 # controlla se vengono passati parametri