Метод для запросов базы данных пакета нечувствительным к регистру способом?

У меня есть название файла, и я должен определить то, что пакет обеспечивает ему. Если бы не то, что я должен выполнить поиск без учета регистра, хорошо работала бы следующая команда:

dpkg -S filename.txt

Это работает отлично, если файл называют 'filename.txt', но не, если это называют 'Filename.txt'.

Консалтинг со страницей справочника для dpkg командаManpage icon ничего не показывает о нечувствительной к регистру опции для команды, и меня оставляют в темноте.

Существует ли способ запросить базу данных пакета для определенного файла нечувствительным к регистру способом?

5
задан 7 September 2013 в 16:14

1 ответ

dpkg принимает подстановочные шаблоны. Это в порядке, если Вы не знаете, имеет ли имя файла начальную заглавную букву, но оно не масштабируется.

dpkg -S '[Ff][Ii][Ll][Ee][Nn][Aa][Mm][Ee].[Tt][Xx][Tt]'

Без дополнительных инструментов можно легко воспроизвести что dpkg -S делает внутренне:

grep -Fi filename.txt /var/lib/dpkg/info/*.list

Можно использовать dlocate Install dlocate для ускорения dpkg -S с индексом (как locate убыстряется find /, но Вы не получаете почти столько же с dlocate). С тех пор dlocate основан locate, это принимает те же опции включая -i для поиска без учета регистра. С тех пор dlocate использует индекс (обычно восстанавливаемый каждую ночь), это могло бы немного устареть.

dlocate -i filename.txt

способный файл Install apt-file ищет имя файла во всех пакетах, которые доступны для установок. Это имеет a -ui опция для поиска без учета регистра.

apt-file -i search filename.txt
10
ответ дан 23 November 2019 в 08:53

Другие вопросы по тегам:

Похожие вопросы: