Очевидно, вы настроили шрифт для конкретного экземпляра приложения, а не для класса приложения. Экземпляр и класс являются понятиями X-ресурсов . Параметр командной строки -name
устанавливает имя экземпляра (по умолчанию на имя исполняемого файла ); имя класса всегдаURxvt
(плюс Rxvt
используется как запасной вариант ).
В именах ресурсов X обычно имена классов начинаются с прописной буквы, а имена экземпляров — со строчной.
Чтобы ваши настройки применялись всегда, установите URxvt.font
вместо urxvt.font
и т. д.
Предполагая, что XML-документ правильно сформирован (в настоящее время в нем отсутствуют пять закрывающих тегов ), вы можете использовать xmlstarlet
для получения значений для всех entitlements
узлов в документе, например:
$ xmlstarlet sel -t -v '//entitlements' -nl file.xml
600000001,600000080
600000300
Чтобы получить значение, относящееся к конкретномуoptionID
:
$ xmlstarlet sel -t -v '//assignedOption[optionID=1000929]/entitlements' -nl file.xml
600000300
Не хватает изящества xmlstarlet
, но этот perl
подход возвращает требуемый результат
$ perl -ne 'while(m/<entitlements>(.*?)<\/entitlements>/g){print $1," "}' file.xml
600000001,600000080 600000300
awk
подход
$ awk -F\< '{for(a=1;a++<NF;){if($a~/^entitlements>/){print substr($a,14)}}}' file.xml
600000001,600000080
600000300
grep
подход
$ grep -o '<entitlements>[0-9,]*' file.xml|grep -o '[0-9,]*'
600000001,600000080
600000300