вывод информации в xml формате
Модераторы: SLEDopit, Модераторы разделов
-
BigBrother
- Сообщения: 436
- Статус: ¯\_(ツ)_/¯
- ОС: linux based
вывод информации в xml формате
Подскажите решение, которое позволяет решить данную задачу: как я могу получить вывод команд (ifconfig -a или df -h или ls -l или ....) в xml формате.
-
arkhnchul
- Сообщения: 2284
- Статус: Толчковый инженер
- ОС: Debian, Fedora
-
BigBrother
- Сообщения: 436
- Статус: ¯\_(ツ)_/¯
- ОС: linux based
Re: вывод информации в xml формате
а как насчет готовых решений? Например, дописываю опцию к команде, и весь вывод в xml формате? Не думаю что такое до сих пор не реализовано...
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: вывод информации в xml формате
Лол. Какой вывод? Включите мозг и подумайте, на что должен быть похож xml-вывод ifconfig и вывод, скажем, ls? Может на нижеследующее?
Или на это:QUOTE писал(а):<root><command>ifconfig</command><output>eth0 Link encap:Ethernet HWaddr 00:23:54:a1:9c:f6
inet addr:192.168.1.219 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:18154683 errors:0 dropped:0 overruns:0 frame:0
TX packets:15933316 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3168839667 (2.9 GiB) TX bytes:34840789828 (32.4 GiB)
Interrupt:18</output></root>
Кому такой вывод может понадобиться?QUOTE писал(а):<root><command>ls /etc/conf.d</command><output>alsasound consolefont dmesg gpm ip6tables local net pciparm rsyncd staticroute twistd xinetd
</output></root>
-
arkhnchul
- Сообщения: 2284
- Статус: Толчковый инженер
- ОС: Debian, Fedora
Re: вывод информации в xml формате
Лол. Какой вывод? Включите мозг и подумайте, на что должен быть похож xml-вывод ifconfig и вывод, скажем, ls? Может на нижеследующее?
скорее байда в стиле
Код: Выделить всё
<interface name=eth0>
<enc>Ether</enc>
<MAC>блабла</MAC>
<addressess>
<ipv4>
<ip>192.168,77,234</ip>
<mask>255.255.255.0</mask>
<bcast>192.168.77.255</bcast>
</ipv4>
<ipv6>
...........
</ipv6>
......
</interface>в любом случае для такого надо писать свои костылища.
из известных мне хмл-вывод только nmap умеет.
Losing is fun!
-
patrius
- Сообщения: 337
- ОС: Debian (4 & 5) -> Gentoo
Re: вывод информации в xml формате
BigBrother писал(а): ↑22.10.2010 18:32Подскажите решение, которое позволяет решить данную задачу: как я могу получить вывод команд (ifconfig -a или df -h или ls -l или ....) в xml формате.
Исходя из своего и изложенного здесь мнений заключаю, что рание никому не доводилось сталкиваться с САБЖем в силу их необходимостей. Поэтому, BigBrother, опишите нам исходную задачу, для чего вам это нужно?
-
IMB
- Сообщения: 2567
- ОС: Debian
Re: вывод информации в xml формате
Вы зря смеётесь, такое уже существует, по крайне мере для ifconfig.
Почитайте http://www.onvif.org/imwp/download.asp?ContentID=18006
Почитайте http://www.onvif.org/imwp/download.asp?ContentID=18006
-
BigBrother
- Сообщения: 436
- Статус: ¯\_(ツ)_/¯
- ОС: linux based
Re: вывод информации в xml формате
patrius писал(а): ↑23.10.2010 08:30BigBrother писал(а): ↑22.10.2010 18:32Подскажите решение, которое позволяет решить данную задачу: как я могу получить вывод команд (ifconfig -a или df -h или ls -l или ....) в xml формате.
опишите нам исходную задачу, для чего вам это нужно?
Cбор сведений о серверах Linux в формате XML для упрощения их администрирования и контроля их работы. Получить (где возможно) выходные данные утилит Linux (напр. df -h, who, mount ...) в XML формате для хранения в XML базе. Или с помощью какой-либо готовой утилиты преобразовать выходные txt-данные утилит в формат XML.
-
KiWi
- Бывший модератор
- Сообщения: 2521
- Статус: статус, статус, статус
Re: вывод информации в xml формате
BigBrother писал(а): ↑23.10.2010 16:12patrius писал(а): ↑23.10.2010 08:30BigBrother писал(а): ↑22.10.2010 18:32Подскажите решение, которое позволяет решить данную задачу: как я могу получить вывод команд (ifconfig -a или df -h или ls -l или ....) в xml формате.
опишите нам исходную задачу, для чего вам это нужно?
Cбор сведений о серверах Linux в формате XML для упрощения их администрирования и контроля их работы. Получить (где возможно) выходные данные утилит Linux (напр. df -h, who, mount ...) в XML формате для хранения в XML базе. Или с помощью какой-либо готовой утилиты преобразовать выходные txt-данные утилит в формат XML.
Сбор сведений можно сделать через SNMP.
А ещё можно воспользоваться nagios, zabbix и т.п.
-
BIgAndy
- Сообщения: 1923
Re: вывод информации в xml формате
BigBrother писал(а): ↑23.10.2010 16:12Cбор сведений о серверах Linux в формате XML для упрощения их администрирования и контроля их работы. Получить (где возможно) выходные данные утилит Linux (напр. df -h, who, mount ...) в XML формате для хранения в XML базе. Или с помощью какой-либо готовой утилиты преобразовать выходные txt-данные утилит в формат XML.
Ахха. Изобретаем вИлосипед... Nagios - не?
-
strah
- Сообщения: 283
- ОС: Freebsd, linux, Solaris.
Re: вывод информации в xml формате
/earth: file system full
-
BigBrother
- Сообщения: 436
- Статус: ¯\_(ツ)_/¯
- ОС: linux based
Re: вывод информации в xml формате
повторю еще раз:
данные о состоянии сервера, необходимо собирать в xml формате!! Другие решения этой задачи (cacti, nagios etc...) мне известны, по этому не стоит говорить не по теме. Интересует именно XML
ткните, пожлст, носом, а то, я что-то не нашел
поиск в документе по слову ifconfig результат не дал.
данные о состоянии сервера, необходимо собирать в xml формате!! Другие решения этой задачи (cacti, nagios etc...) мне известны, по этому не стоит говорить не по теме. Интересует именно XML
IMB писал(а): ↑23.10.2010 12:20Вы зря смеётесь, такое уже существует, по крайне мере для ifconfig.
Почитайте http://www.onvif.org/imwp/download.asp?ContentID=18006
ткните, пожлст, носом, а то, я что-то не нашел
-
IMB
- Сообщения: 2567
- ОС: Debian
Re: вывод информации в xml формате
BigBrother писал(а): ↑29.10.2010 23:11IMB писал(а): ↑23.10.2010 12:20Вы зря смеётесь, такое уже существует, по крайне мере для ifconfig.
Почитайте http://www.onvif.org/imwp/download.asp?ContentID=18006
ткните, пожлст, носом, а то, я что-то не нашелпоиск в документе по слову ifconfig результат не дал.
Плохо читали, хотя в этом есть и "вина" авторов. Посмотрите пукт 8.2.9 Get network interface configuration, стр. 72.
Но я не рекомендую Вам использовать это решение, оно несколько специализировано и сыровато. Стандарт находится в стадии активной разработки и лучше дождаться выхода версии 2.0.
Да и что бы его использовать Вам надо будет написать несколько программ, это всего лишь стандарт и готовых решений с его использованием единицы, а открытых, насколько мне известно, вообще нет.
-
IMB
- Сообщения: 2567
- ОС: Debian
Re: вывод информации в xml формате
BigBrother, прикрепляю свои наброски, но повторюсь ещё раз - для работоспособности необходим реализованый onvif-демон.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
BigBrother
- Сообщения: 436
- Статус: ¯\_(ツ)_/¯
- ОС: linux based
Re: вывод информации в xml формате
IMB
Спасибо за ваш труд, но одного ifconfig мало. Будем ждать и/или делать свое решение.
Спасибо за ваш труд, но одного ifconfig мало. Будем ждать и/или делать свое решение.
-
IMB
- Сообщения: 2567
- ОС: Debian
Re: вывод информации в xml формате
Если Вы внимательно прочитали стандарт, то должны были обратить внимание на то, что он покрывает достаточно большую часть конфигурирования системы.
Но так как он создавался с опредёленной целью и для определённого класса устройств, он может не подходить Вам или не покрывать все Ваши потребности.
Но так как он создавался с опредёленной целью и для определённого класса устройств, он может не подходить Вам или не покрывать все Ваши потребности.
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: вывод информации в xml формате
BigBrother
скажите пожалуйста, зачем это надо, и почему связки ifconfig|sed недостаточно?
скажите пожалуйста, зачем это надо, и почему связки ifconfig|sed недостаточно?
-
BigBrother
- Сообщения: 436
- Статус: ¯\_(ツ)_/¯
- ОС: linux based
Re: вывод информации в xml формате
повторю еще раз:
Cбор сведений о серверах Linux в формате XML для упрощения их администрирования и контроля их работы. Получить (где возможно) выходные данные утилит Linux (напр. df -h, who, mount ...) в XML формате для хранения в XML базе
Интересует именно XML!
sed умеет выводить ("отдавать") инфу в xml формате?
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: вывод информации в xml формате
она умеет выводить (отдавать) инфу в ЛЮБОМ формате. Читайте мою подпись что-ли...
хоть XML, хоть HTML, хоть C#.
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: вывод информации в xml формате
Нет.
Готового и дешевого решения задачи нет. И его не может быть в принципе. Ну, по-крайней мере, до тех пор, пока не появится всеобщая мода/необходимость в выводе XML и у авторов различных утилит не появится желание писать сложный модуль XML-вывода.
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: вывод информации в xml формате
да. Что мешает написать такой конвертер? Лично мне - только одно - я не понимаю, зачем это нужно.
С этим согласен. И всё-же объясните, ЗАЧЕМ?
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
-
diesel
- Бывший модератор
- Сообщения: 5989
- ОС: OS X, openSuSE, ROSA, Debian
Re: вывод информации в xml формате
ну sed все же будет формировать "какой-то текст из какого-то текста". То есть не "ip адрес данного компьютера покласть в заданное место в xml", а просто ... "выбрать то место в выводе ifconfig где вроде бы должен быть ip адрес, и подставить это место где вроде бы должен быть ip адрес в какой-то текст, который похож на xml" .
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: вывод информации в xml формате
BigBrother писал(а): ↑23.10.2010 16:12Cбор сведений о серверах Linux в формате XML для упрощения их администрирования и контроля их работы. Получить (где возможно) выходные данные утилит Linux (напр. df -h, who, mount ...) в XML формате для хранения в XML базе. Или с помощью какой-либо готовой утилиты преобразовать выходные txt-данные утилит в формат XML.
ИМХО вполне можно написать набор конверторов. работа несложная, только время займёт. Если делать нечего - почему-бы и нет?
можно использовать шаблоны, что-бы точно знать КУДА вставлять IP. Вопрос ОТКУДА не стоит, ибо в выводе ifconfig IP всегда в одном месте.
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: вывод информации в xml формате
набросал приблизительный конвертер: git://github.com/sash-kan/ip2xml.git
на примере.
вот вывод ip a:
в «одностроке»:
эти «одностроки» парсятся sed-ом:
а потом с помощью программки 2xml из пакета xml2 эти строки превращаются в xml. программка эта выдаёт совсем уже в виде одной строки, поэтому для красоты можно пропустить через xmlindent (из одноимённого пакета):чем не xml?
на примере.
вот вывод ip a:
Код: Выделить всё
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:1d:60:7f:3f:49 brd ff:ff:ff:ff:ff:ff
inet6 fe80::21d:60ff:fe7f:3f49/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
link/ether 00:04:79:67:b4:93 brd ff:ff:ff:ff:ff:ff
inet 10.10.10.1/24 brd 10.10.10.255 scope global eth1
inet 192.168.1.11/24 scope global eth1
inet 192.168.0.2/30 scope global eth1
inet6 fe80::204:79ff:fe67:b493/64 scope link
valid_lft forever preferred_lft forever
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether 00:1d:60:7f:3f:49 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.72/24 brd 192.168.0.255 scope global br0
inet6 2001:470:1f0b:e1:21d:60ff:fe7f:3f49/64 scope global dynamic
valid_lft 2446866sec preferred_lft 459666sec
inet6 fe80::21d:60ff:fe7f:3f49/64 scope link
valid_lft forever preferred_lft forever
5: vboxnet0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff
7: tap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500
link/ether 00:ff:61:75:25:54 brd ff:ff:ff:ff:ff:ff
inet6 fe80::2ff:61ff:fe75:2554/64 scope link
valid_lft forever preferred_lft forever
9: tap1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500
link/ether 00:ff:2c:2b:ad:1d brd ff:ff:ff:ff:ff:ff
inet6 fe80::2ff:2cff:fe2b:ad1d/64 scope link
valid_lft forever preferred_lft forever
11: tap2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500
link/ether 00:ff:5b:a5:6c:41 brd ff:ff:ff:ff:ff:ff
inet6 fe80::2ff:5bff:fea5:6c41/64 scope link
valid_lft forever preferred_lft forever
13: tap3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500
link/ether 00:ff:ee:dc:b7:5b brd ff:ff:ff:ff:ff:ff
inet6 fe80::2ff:eeff:fedc:b75b/64 scope link
valid_lft forever preferred_lft forever
15: tap4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500
link/ether 00:ff:78:29:9c:b9 brd ff:ff:ff:ff:ff:ff
inet6 fe80::2ff:78ff:fe29:9cb9/64 scope link
valid_lft forever preferred_lft foreverв «одностроке»:
Код: Выделить всё
$ ip -o a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN \ link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
1: lo inet 127.0.0.1/8 scope host lo
1: lo inet6 ::1/128 scope host \ valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000\ link/ether 00:1d:60:7f:3f:49 brd ff:ff:ff:ff:ff:f
f
2: eth0 inet6 fe80::21d:60ff:fe7f:3f49/64 scope link \ valid_lft forever preferred_lft forever
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000\ link/ether 00:04:79:67:b4:93 brd ff:ff:ff:ff:ff:ff
3: eth1 inet 10.10.10.1/24 brd 10.10.10.255 scope global eth1
3: eth1 inet 192.168.1.11/24 scope global eth1
3: eth1 inet 192.168.0.2/30 scope global eth1
3: eth1 inet6 fe80::204:79ff:fe67:b493/64 scope link \ valid_lft forever preferred_lft forever
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN \ link/ether 00:1d:60:7f:3f:49 brd ff:ff:ff:ff:ff:ff
4: br0 inet 192.168.0.72/24 brd 192.168.0.255 scope global br0
4: br0 inet6 2001:470:1f0b:e1:21d:60ff:fe7f:3f49/64 scope global dynamic \ valid_lft 2446713sec preferred_lft 459513sec
4: br0 inet6 fe80::21d:60ff:fe7f:3f49/64 scope link \ valid_lft forever preferred_lft forever
5: vboxnet0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000\ link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff
7: tap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500\ link/ether 00:ff:61:75:25:54 brd ff:ff:ff:ff:ff:ff
7: tap0 inet6 fe80::2ff:61ff:fe75:2554/64 scope link \ valid_lft forever preferred_lft forever
9: tap1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500\ link/ether 00:ff:2c:2b:ad:1d brd ff:ff:ff:ff:ff:ff
9: tap1 inet6 fe80::2ff:2cff:fe2b:ad1d/64 scope link \ valid_lft forever preferred_lft forever
11: tap2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500\ link/ether 00:ff:5b:a5:6c:41 brd ff:ff:ff:ff:ff:ff
11: tap2 inet6 fe80::2ff:5bff:fea5:6c41/64 scope link \ valid_lft forever preferred_lft forever
13: tap3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500\ link/ether 00:ff:ee:dc:b7:5b brd ff:ff:ff:ff:ff:ff
13: tap3 inet6 fe80::2ff:eeff:fedc:b75b/64 scope link \ valid_lft forever preferred_lft forever
15: tap4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500\ link/ether 00:ff:78:29:9c:b9 brd ff:ff:ff:ff:ff:ff
15: tap4 inet6 fe80::2ff:78ff:fe29:9cb9/64 scope link \ valid_lft forever preferred_lft foreverэти «одностроки» парсятся sed-ом:
Код: Выделить всё
$ ip -o a | ./ipa2xml.sed
/interfaces/interface/
/interfaces/interface/flags=LOOPBACK,UP,LOWER_UP
/interfaces/interface/mtu=16436
/interfaces/interface/qdisc=noqueue
/interfaces/interface/state=UNKNOWN
/interfaces/interface/link-loopback=00:00:00:00:00:00
/interfaces/interface/brd=00:00:00:00:00:00
/interfaces/interface/name=lo
/interfaces/interface/index=1
/interfaces/interface/address/
/interfaces/interface/address/inet=127.0.0.1/8
/interfaces/interface/address/scope=host
/interfaces/interface/address/
/interfaces/interface/address/inet6=::1/128
/interfaces/interface/address/scope=host
/interfaces/interface/address/valid_lft=forever
/interfaces/interface/address/preferred_lft=forever
/interfaces/interface/
/interfaces/interface/flags=BROADCAST,MULTICAST,UP,LOWER_UP
/interfaces/interface/mtu=1500
/interfaces/interface/qdisc=pfifo_fast
/interfaces/interface/state=UNKNOWN
/interfaces/interface/qlen=1000
/interfaces/interface/link-ether=00:1d:60:7f:3f:49
/interfaces/interface/brd=ff:ff:ff:ff:ff:ff
/interfaces/interface/name=eth0
/interfaces/interface/index=2
/interfaces/interface/address/
/interfaces/interface/address/inet6=fe80::21d:60ff:fe7f:3f49/64
/interfaces/interface/address/scope=link
/interfaces/interface/address/valid_lft=forever
/interfaces/interface/address/preferred_lft=forever
/interfaces/interface/
/interfaces/interface/flags=NO-CARRIER,BROADCAST,MULTICAST,UP
/interfaces/interface/mtu=1500
/interfaces/interface/qdisc=pfifo_fast
/interfaces/interface/state=DOWN
/interfaces/interface/qlen=1000
/interfaces/interface/link-ether=00:04:79:67:b4:93
/interfaces/interface/brd=ff:ff:ff:ff:ff:ff
/interfaces/interface/name=eth1
/interfaces/interface/index=3
/interfaces/interface/address/
/interfaces/interface/address/inet=10.10.10.1/24
/interfaces/interface/address/brd=10.10.10.255
/interfaces/interface/address/scope=global
/interfaces/interface/address/
/interfaces/interface/address/inet=192.168.1.11/24
/interfaces/interface/address/scope=global
/interfaces/interface/address/
/interfaces/interface/address/inet=192.168.0.2/30
/interfaces/interface/address/scope=global
/interfaces/interface/address/
/interfaces/interface/address/inet6=fe80::204:79ff:fe67:b493/64
/interfaces/interface/address/scope=link
/interfaces/interface/address/valid_lft=forever
/interfaces/interface/address/preferred_lft=forever
/interfaces/interface/
/interfaces/interface/flags=BROADCAST,MULTICAST,UP,LOWER_UP
/interfaces/interface/mtu=1500
/interfaces/interface/qdisc=noqueue
/interfaces/interface/state=UNKNOWN
/interfaces/interface/link-ether=00:1d:60:7f:3f:49
/interfaces/interface/brd=ff:ff:ff:ff:ff:ff
/interfaces/interface/name=br0
/interfaces/interface/index=4
/interfaces/interface/address/
/interfaces/interface/address/inet=192.168.0.72/24
/interfaces/interface/address/brd=192.168.0.255
/interfaces/interface/address/scope=global
/interfaces/interface/address/
/interfaces/interface/address/inet6=2001:470:1f0b:e1:21d:60ff:fe7f:3f49/64
/interfaces/interface/address/scope=global-dynamic
/interfaces/interface/address/valid_lft=2446538sec
/interfaces/interface/address/preferred_lft=459338sec
/interfaces/interface/address/
/interfaces/interface/address/inet6=fe80::21d:60ff:fe7f:3f49/64
/interfaces/interface/address/scope=link
/interfaces/interface/address/valid_lft=forever
/interfaces/interface/address/preferred_lft=forever
/interfaces/interface/
/interfaces/interface/flags=BROADCAST,MULTICAST
/interfaces/interface/mtu=1500
/interfaces/interface/qdisc=noop
/interfaces/interface/state=DOWN
/interfaces/interface/qlen=1000
/interfaces/interface/link-ether=0a:00:27:00:00:00
/interfaces/interface/brd=ff:ff:ff:ff:ff:ff
/interfaces/interface/name=vboxnet0
/interfaces/interface/index=5
/interfaces/interface/
/interfaces/interface/flags=BROADCAST,MULTICAST,UP,LOWER_UP
/interfaces/interface/mtu=1500
/interfaces/interface/qdisc=pfifo_fast
/interfaces/interface/state=UNKNOWN
/interfaces/interface/qlen=500
/interfaces/interface/link-ether=00:ff:61:75:25:54
/interfaces/interface/brd=ff:ff:ff:ff:ff:ff
/interfaces/interface/name=tap0
/interfaces/interface/index=7
/interfaces/interface/address/
/interfaces/interface/address/inet6=fe80::2ff:61ff:fe75:2554/64
/interfaces/interface/address/scope=link
/interfaces/interface/address/valid_lft=forever
/interfaces/interface/address/preferred_lft=forever
/interfaces/interface/
/interfaces/interface/flags=BROADCAST,MULTICAST,UP,LOWER_UP
/interfaces/interface/mtu=1500
/interfaces/interface/qdisc=pfifo_fast
/interfaces/interface/state=UNKNOWN
/interfaces/interface/qlen=500
/interfaces/interface/link-ether=00:ff:2c:2b:ad:1d
/interfaces/interface/brd=ff:ff:ff:ff:ff:ff
/interfaces/interface/name=tap1
/interfaces/interface/index=9
/interfaces/interface/address/
/interfaces/interface/address/inet6=fe80::2ff:2cff:fe2b:ad1d/64
/interfaces/interface/address/scope=link
/interfaces/interface/address/valid_lft=forever
/interfaces/interface/address/preferred_lft=forever
/interfaces/interface/
/interfaces/interface/flags=BROADCAST,MULTICAST,UP,LOWER_UP
/interfaces/interface/mtu=1500
/interfaces/interface/qdisc=pfifo_fast
/interfaces/interface/state=UNKNOWN
/interfaces/interface/qlen=500
/interfaces/interface/link-ether=00:ff:5b:a5:6c:41
/interfaces/interface/brd=ff:ff:ff:ff:ff:ff
/interfaces/interface/name=tap2
/interfaces/interface/index=11
/interfaces/interface/address/
/interfaces/interface/address/inet6=fe80::2ff:5bff:fea5:6c41/64
/interfaces/interface/address/scope=link
/interfaces/interface/address/valid_lft=forever
/interfaces/interface/address/preferred_lft=forever
/interfaces/interface/
/interfaces/interface/flags=BROADCAST,MULTICAST,UP,LOWER_UP
/interfaces/interface/mtu=1500
/interfaces/interface/qdisc=pfifo_fast
/interfaces/interface/state=UNKNOWN
/interfaces/interface/qlen=500
/interfaces/interface/link-ether=00:ff:ee:dc:b7:5b
/interfaces/interface/brd=ff:ff:ff:ff:ff:ff
/interfaces/interface/name=tap3
/interfaces/interface/index=13
/interfaces/interface/address/
/interfaces/interface/address/inet6=fe80::2ff:eeff:fedc:b75b/64
/interfaces/interface/address/scope=link
/interfaces/interface/address/valid_lft=forever
/interfaces/interface/address/preferred_lft=forever
/interfaces/interface/
/interfaces/interface/flags=BROADCAST,MULTICAST,UP,LOWER_UP
/interfaces/interface/mtu=1500
/interfaces/interface/qdisc=pfifo_fast
/interfaces/interface/state=UNKNOWN
/interfaces/interface/qlen=500
/interfaces/interface/link-ether=00:ff:78:29:9c:b9
/interfaces/interface/brd=ff:ff:ff:ff:ff:ff
/interfaces/interface/name=tap4
/interfaces/interface/index=15
/interfaces/interface/address/
/interfaces/interface/address/inet6=fe80::2ff:78ff:fe29:9cb9/64
/interfaces/interface/address/scope=link
/interfaces/interface/address/valid_lft=forever
/interfaces/interface/address/preferred_lft=foreverа потом с помощью программки 2xml из пакета xml2 эти строки превращаются в xml. программка эта выдаёт совсем уже в виде одной строки, поэтому для красоты можно пропустить через xmlindent (из одноимённого пакета):
Код: Выделить всё
$ ip -o a | ./ipa2xml.sed | 2xml | xmlindent
<interfaces>
<interface>
<flags>LOOPBACK,UP,LOWER_UP</flags><mtu>16436</mtu><qdisc>noqueue</qdisc><state>UNKNOWN</state><link-loopback>00:00:00:00:00:00</link-loopback><brd>00:00:00:00:00:00</brd><name>lo</name><index>1</index>
<address>
<inet>127.0.0.1/8</inet><scope>host</scope>
</address>
<address>
<inet6>::1/128</inet6><scope>host</scope><valid_lft>forever</valid_lft><preferred_lft>forever</preferred_lft>
</address>
</interface>
<interface>
<flags>BROADCAST,MULTICAST,UP,LOWER_UP</flags><mtu>1500</mtu><qdisc>pfifo_fast</qdisc><state>UNKNOWN</state><qlen>1000</qlen><link-ether>00:1d:60:7f:3f:49</link-ether><brd>ff:ff:ff:ff:ff:ff</brd><name>eth0</name><index>2</index>
<address>
<inet6>fe80::21d:60ff:fe7f:3f49/64</inet6><scope>link</scope><valid_lft>forever</valid_lft><preferred_lft>forever</preferred_lft>
</address>
</interface>
<interface>
<flags>NO-CARRIER,BROADCAST,MULTICAST,UP</flags><mtu>1500</mtu><qdisc>pfifo_fast</qdisc><state>DOWN</state><qlen>1000</qlen><link-ether>00:04:79:67:b4:93</link-ether><brd>ff:ff:ff:ff:ff:ff</brd><name>eth1</name><index>3</index>
<address>
<inet>10.10.10.1/24</inet><brd>10.10.10.255</brd><scope>global</scope>
</address>
<address>
<inet>192.168.1.11/24</inet><scope>global</scope>
</address>
<address>
<inet>192.168.0.2/30</inet><scope>global</scope>
</address>
<address>
<inet6>fe80::204:79ff:fe67:b493/64</inet6><scope>link</scope><valid_lft>forever</valid_lft><preferred_lft>forever</preferred_lft>
</address>
</interface>
<interface>
<flags>BROADCAST,MULTICAST,UP,LOWER_UP</flags><mtu>1500</mtu><qdisc>noqueue</qdisc><state>UNKNOWN</state><link-ether>00:1d:60:7f:3f:49</link-ether><brd>ff:ff:ff:ff:ff:ff</brd><name>br0</name><index>4</index>
<address>
<inet>192.168.0.72/24</inet><brd>192.168.0.255</brd><scope>global</scope>
</address>
<address>
<inet6>2001:470:1f0b:e1:21d:60ff:fe7f:3f49/64</inet6><scope>global-dynamic</scope><valid_lft>2445897sec</valid_lft><preferred_lft>458697sec</preferred_lft>
</address>
<address>
<inet6>fe80::21d:60ff:fe7f:3f49/64</inet6><scope>link</scope><valid_lft>forever</valid_lft><preferred_lft>forever</preferred_lft>
</address>
</interface>
<interface>
<flags>BROADCAST,MULTICAST</flags><mtu>1500</mtu><qdisc>noop</qdisc><state>DOWN</state><qlen>1000</qlen><link-ether>0a:00:27:00:00:00</link-ether><brd>ff:ff:ff:ff:ff:ff</brd><name>vboxnet0</name><index>5</index>
</interface>
<interface>
<flags>BROADCAST,MULTICAST,UP,LOWER_UP</flags><mtu>1500</mtu><qdisc>pfifo_fast</qdisc><state>UNKNOWN</state><qlen>500</qlen><link-ether>00:ff:61:75:25:54</link-ether><brd>ff:ff:ff:ff:ff:ff</brd><name>tap0</name><index>7</index>
<address>
<inet6>fe80::2ff:61ff:fe75:2554/64</inet6><scope>link</scope><valid_lft>forever</valid_lft><preferred_lft>forever</preferred_lft>
</address>
</interface>
<interface>
<flags>BROADCAST,MULTICAST,UP,LOWER_UP</flags><mtu>1500</mtu><qdisc>pfifo_fast</qdisc><state>UNKNOWN</state><qlen>500</qlen><link-ether>00:ff:2c:2b:ad:1d</link-ether><brd>ff:ff:ff:ff:ff:ff</brd><name>tap1</name><index>9</index>
<address>
<inet6>fe80::2ff:2cff:fe2b:ad1d/64</inet6><scope>link</scope><valid_lft>forever</valid_lft><preferred_lft>forever</preferred_lft>
</address>
</interface>
<interface>
<flags>BROADCAST,MULTICAST,UP,LOWER_UP</flags><mtu>1500</mtu><qdisc>pfifo_fast</qdisc><state>UNKNOWN</state><qlen>500</qlen><link-ether>00:ff:5b:a5:6c:41</link-ether><brd>ff:ff:ff:ff:ff:ff</brd><name>tap2</name><index>11</index>
<address>
<inet6>fe80::2ff:5bff:fea5:6c41/64</inet6><scope>link</scope><valid_lft>forever</valid_lft><preferred_lft>forever</preferred_lft>
</address>
</interface>
<interface>
<flags>BROADCAST,MULTICAST,UP,LOWER_UP</flags><mtu>1500</mtu><qdisc>pfifo_fast</qdisc><state>UNKNOWN</state><qlen>500</qlen><link-ether>00:ff:ee:dc:b7:5b</link-ether><brd>ff:ff:ff:ff:ff:ff</brd><name>tap3</name><index>13</index>
<address>
<inet6>fe80::2ff:eeff:fedc:b75b/64</inet6><scope>link</scope><valid_lft>forever</valid_lft><preferred_lft>forever</preferred_lft>
</address>
</interface>
<interface>
<flags>BROADCAST,MULTICAST,UP,LOWER_UP</flags><mtu>1500</mtu><qdisc>pfifo_fast</qdisc><state>UNKNOWN</state><qlen>500</qlen><link-ether>00:ff:78:29:9c:b9</link-ether><brd>ff:ff:ff:ff:ff:ff</brd><name>tap4</name><index>15</index>
<address>
<inet6>fe80::2ff:78ff:fe29:9cb9/64</inet6><scope>link</scope><valid_lft>forever</valid_lft><preferred_lft>forever</preferred_lft>
</address>
</interface>
</interfaces>Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
Спасибо сказали:
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: вывод информации в xml формате
кстати, в процессе написания обнаружил забавный баг (или грустную фичу) sed-а:
но:
Shell
$ echo '1' | sed 's/ \+/ /g;s/\(1\)$/\1/;ta;s/$/ - не единица/;bb;:a;s/$/ - единица/;:b'
1 - единица
$ echo '0' | sed 's/ \+/ /g;s/\(1\)$/\1/;ta;s/$/ - не единица/;bb;:a;s/$/ - единица/;:b'
0 - не единица
но:
Shell
$ echo ' 1' | sed 's/ \+/ /g;s/\(1\)$/\1/;ta;s/$/ - не единица/;bb;:a;s/$/ - единица/;:b'
1 - единица
$ echo ' 0' | sed 's/ \+/ /g;s/\(1\)$/\1/;ta;s/$/ - не единица/;bb;:a;s/$/ - единица/;:b'
0 - единицаПисать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: вывод информации в xml формате
да никакая она не грустная - я про неё уж цать раз писал, в info sed тоже много букв про это.
Команда s устанавливает, но НЕ СБРАСЫВАЕТ флаг перехода.
Потому, если в вашем коде
Код: Выделить всё
s/// # эта команда что-то всегда заменяет
s/// # эта команда заменяет иногда
t # команда перехода всегда выполняетсяНеобходимо сбросить флаг перехода командой t:
Код: Выделить всё
# здесь код в котором есть команды s
t lx # не важно как мы попадём на метку :lx, главное - флаг перехода будет сброшен
:lx
s///
t # а эта команда выполнится лишь если прошлая s что-то заменила-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: вывод информации в xml формате
забыл сам однострок исправленный:
$
echo ' 0' | sed -r 's/ +/ /g; t lx; :lx; s/1$/& - единица/; t; s/.*/& - не единица/'-
BigBrother
- Сообщения: 436
- Статус: ¯\_(ツ)_/¯
- ОС: linux based
Re: вывод информации в xml формате
Есть сервера в облаке амазона, их количество постоянно растет и увеличивается. У этих серверов (инстансов) есть разные параметры и атрибуты (и их много), которые их описывают и идентифицируют. Пока этих инстансов мало, еще можно запомнить что и где. Когда их количество будет больше, уже будет труднее. XML поможет решить задачу по управлению и контролю этими серверами (кто, где, когда, зачем, почему и т.д....). Вся эта инфа, будет хранится в Oracle Berkeley DB XML.
Видимо такой способ сбора и обработки информации еще почти никем не используется... Собственно как и облачные вычисления. Обе эти технологии только набирают обороты, и мало знакомы. Вот по этому, интересует cбор инфы в xml.
зы эта эпоха скоро наступит на этой планете скоро "наступит", и тогда, те, кто будут подготовлены, будут сильно востребованы, вот
Облака и xml - будущее!! имхо конечно
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: вывод информации в xml формате
Про xml - боян десятилетней давности. =)