Как соответствовать параметру и заменить значение после “=” разделитель

Хотелось бы узнать, какие пакеты имеют файлы в /usr/share/applications

Вы можете спросить, какому пакету принадлежит тот или иной файл, сделав rpm -qf . Для создания полного дерева каталогов можно воспользоваться командой find и отфильтровать вывод.

Например:

[root@xxx01 ~]# find /usr/share/applications -type f -exec rpm -qf {} \; | grep -v "is not owned by any package" | sort | uniq 
firefox-31.1.0-5.el6_5.x86_64 
savui-1.0.14-13.i386 
shared-mime-info-0.70-4.el6.x86_64 
[root@xxx01 ~]#

Я не видел возможности перечислить содержимое одного пакета.

Это несколько другая опция с rpm. Например, чтобы перечислить файлы в пакете firefox:

[root@xxx01 ~]# rpm -ql firefox
/usr/bin/firefox
/usr/lib64/firefox
/usr/lib64/firefox/LICENSE
/usr/lib64/firefox/application.ini
/usr/lib64/firefox/browser/blocklist.xml
/usr/lib64/firefox/browser/chrome
/usr/lib64/firefox/browser/chrome.manifest
/usr/lib64/firefox/browser/chrome/icons
/usr/lib64/firefox/browser/chrome/icons/default
/usr/lib64/firefox/browser/chrome/icons/default/default16.png
/usr/lib64/firefox/browser/chrome/icons/default/default32.png
/usr/lib64/firefox/browser/chrome/icons/default/default48.png
/usr/lib64/firefox/browser/components
/usr/lib64/firefox/browser/components/components.manifest
/usr/lib64/firefox/browser/components/libbrowsercomps.so
/usr/lib64/firefox/browser/defaults/preferences
/usr/lib64/firefox/browser/extensions
/usr/lib64/firefox/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
/usr/lib64/firefox/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
/usr/lib64/firefox/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
/usr/lib64/firefox/browser/icons
/usr/lib64/firefox/browser/icons/mozicon128.png
... snip ...
0
31.03.2015, 00:43
1 ответ

Включите ключ в вашем Regexp.

Если вы точно знаете, как это написано, вы можете использовать позитивное утверждение на вид, и его проще:

perl -pi -e 's/(?<=^\$VIP_IP=).*/192.17.200.100/' your_file

В противном случае вы должны включать в себя соответствующий ключ в тексте замены, используя $ 1 :

perl -pi -e 's/(^\$VIP_IP\s*=).*/$1192.17.200.100/' your_file
. ]
2
28.01.2020, 02:36

Теги

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