Хотелось бы узнать, какие пакеты имеют файлы в /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 ...
Включите ключ в вашем 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
. ]