Что-то вроде
grep BOOKNUMBER textfile.txt
должен решить эту проблему.
Если вы хотите, чтобы при поиске книги номер 96 также не было списка «Состояние Тома Тэтчера», вы можете использовать
grep '[[:space:]]BOOKNUMBER[[:space:]]*$' textfile.txt
вместо этого.
Как скрипт (сохранить какsearchbook
)
#!/bin/bash
BOOKFILE=/path/to/bookfile.txt
BOOK=$1
if [[ -z "$BOOK" ]]; then
echo -n "Booknumber? "
read BOOK
fi
grep '[[:space:]]'$BOOK'[[:space:]]*$' $BOOKFILE
Затем вы можете запустить
searchbook BOOKNUMBER
или
searchbook
Во втором случае вам будет предложено ввести номер.
Чтобы перечислить зависимости, используйте pacman -Si
или pacman -Qi
Список обратных зависимостей:pacman -Sii
Arch -linux:Запрос зависимостей пакета
How can I list all installed packages that are depending on a certain other package
Для зависимости одного уровня используйтеpacman -Qi package_name | grep 'Depends On'
например:
$ pacman -Qi jack | grep 'Depends On'
Depends On : alsa-lib db glibc gcc-libs libsamplerate libzita-alsa-pcmi.so=0-64 libzita-resampler.so=1-64
Чтобы просмотреть дерево зависимостей пакета, используйте pactree
, владельцем которого является pacman-contrib
например:
$ pactree jack
jack
├─alsa-lib
│ ├─glibc
│ │ ├─linux-api-headers provides linux-api-headers>=4.10
│ │ ├─tzdata
│ │ └─filesystem
│ │ └─iana-etc
│ ├─alsa-topology-conf
│ └─alsa-ucm-conf
├─db
│ ├─gcc-libs
│ │ └─glibc provides glibc>=2.27
│ └─bash provides sh
│ ├─readline provides readline>=7.0
│ │ ├─glibc
│ │ ├─ncurses
│ │ │ ├─glibc
│ │ │ └─gcc-libs
│ │ └─ncurses provides libncursesw.so=6-64
│ ├─glibc
│ └─ncurses
├─glibc
├─gcc-libs
├─libsamplerate
│ └─glibc
├─zita-alsa-pcmi provides libzita-alsa-pcmi.so=0-64
│ ├─alsa-lib
│ ├─gcc-libs
│ └─glibc
└─zita-resampler provides libzita-resampler.so=1-64
├─gcc-libs
└─glibc
Чтобы просмотреть зависимое дерево пакета, передайте флаг реверса -r
вpactree