← All posts tagged Bash

DarkMX
ArchLinux Bash #!/bin/sh
# Улучшенный поиск пакетов.

# Ищем и заносим в переменную установленные пакеты
pkgLocal=`pacman -Qs $* | egrep '^[^ ]' | sed 's|^local/||' | sed 's/ .\+$//'`

# Создаем временный файл (кто знает как обойтись без него — подскажите)
tFile=`mktemp -t XXXX`

# Заносим в временный файл пакеты из репозитория
pacman -Ss $* > $tFile

# Сравниваем и если установоленный пакет есть, то ставим галку
for pkg in $pkgLocal; do
sed -i "s@^\(.\+/$pkg\) @\>\1 @" $tFile
done

# Раcкрашиваем репозитории и выводим результат
echo -e "$( cat $tFile | sed \
-e 's#core/.*#\\033[1;31m &\\033[0;37m#g' \
-e 's#extra/.*#\\033[1;32m &\\033[0;37m#g' \
-e 's#community/.*#\\033[0;33m &\\033[0;37m#g' \
-e 's#testing/.*#\\033[0;34m &\\033[0;37m#g' \
-e 's#archlinuxfr/.*#\\033[0;36m &\\033[0;37m#g' \
-e 's#^/.#\\033[0;36m 1&\\033[0;37m#g' \
-e 's/^>/\\033[1;31m&\\033[0;37m/' )"

rm $tFile
У меня он зовется pacs от Pacman Search. Так же удобро проалиасить paci (Install) pacr (Remove) pacu (Update repository)
# Это помещаем в .bashrc
PS1='\[\033[0;32m\]$\[\033[0m\] \[\033[0;33m\]\w\[\033[0m\]>' # На любителя, и для рута не забудьте сделать красный 'диес' #.
alias paci='sudo pacman -S'
alias pacr='sudo pacman -Rs'
alias pacu='sudo pacman -Su'