LINUX.ORG.RU
ФорумAdmin

lshw и sed, выбрать нужное

 


0

2

Пишу скрипт инвентаризации. Запускаю команду lshw -class memory получаю вывод:

*-cache:0
       description: L1 cache
       physical id: 5
       slot: L1 Cache
       size: 128KiB
       capacity: 128KiB
       clock: 1GHz (1.0ns)
       capabilities: pipeline-burst internal write-back unified
       configuration: level=1
  *-cache:1
       description: L2 cache
       physical id: 6
       slot: L2 Cache
       size: 1MiB
       capacity: 1MiB
       clock: 1GHz (1.0ns)
       capabilities: pipeline-burst internal write-back unified
       configuration: level=2
  *-memory
       description: System Memory
       physical id: b
       slot: System board or motherboard
       size: 6GiB
     *-bank:0
     *-bank:0
          description: SODIMM DDR3 Synchronous 800 MHz (1,2 ns)
          product: RMT3170EF68F9W1600
          physical id: 0
          serial: 444EFF24
          slot: DIMM 0
          size: 4GiB
          width: 64 bits
          clock: 800MHz (1.2ns)
     *-bank:1
     *-bank:1
          description: SODIMM DDR3 Synchronous 800 MHz (1,2 ns)
          product: AM1L16BC2P1-B1FS
          vendor: A-DATA Technology
          physical id: 1
          serial: 000073A1
          slot: DIMM 1
          size: 2GiB
          width: 64 bits
          clock: 800MHz (1.2ns)

Мне нужна информация из разделов *-bank: А имено: product,serial,slot,size Хочу для этих целей использовать sed, но проблема в том что если сделаю выборку по size то у меня подтянутся сроки из раздела *-cache А мне это не нужно.

Как сказать sed найти *-bank потом искать roduct,serial,slot,size


Мне нужна информация из разделов *-bank: А имено: product,serial,slot,size.
Хочу для этих целей использовать sed...

Хотите — используйте.

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

Zmicier ★★★★★
()

Так, ладно, не жду.

# lshw -class memory -xml \
> | xmlstarlet sel -t -m '//*[starts-with(@id, "bank:")]' \
>   -v product -n -v serial -n -v slot -n -v size -n

Ну или там подберете формат вывода, какой надо.

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 2)
Ответ на: комментарий от Zmicier

Спасибо, єто вообще шикарный вариант. Я просто вечером разбирался с sed, вот и пример такой выбрал. Щас понимаю что sed не для єтого, а для работы со строками.

ibahob
() автор топика
Ответ на: комментарий от ibahob

Ну а если тебе на данные не только посмотреть, но и что-нибудь с ними сделать, то лучше сразу используй полноценный язык. У полноценного xml парсер в комплекте должен оказаться.

anonymous
()

Ты только показания этой утилиты с реальностью сравни на разном железе. А то может она читает вечно кривой dmi.

anonymous
()
Ответ на: комментарий от anonymous

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

ibahob
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.