[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] checar se a resposta do comando possui uma lista
From: |
Andreyev Dias de Melo |
Subject: |
Re: [shell-script] checar se a resposta do comando possui uma lista |
Date: |
Fri, 6 May 2005 14:59:07 -0300 |
Como sempre, TMTOWTDI. Usando a seguinte saída como exemplo:
# cdrecord --scanbus
Cdrecord-Clone 2.01a19 (i686-redhat-linux-gnu) Copyright (C) 1995-2003
Jörg Schilling
Linux sg driver version: 3.1.25
Using libscg version 'schily-0.7'
cdrecord: Warning: using inofficial libscg transport code version
(schily - Red Hat-scsi-linux-sg.c-1.75-RH '@(#)scsi-linux-sg.c
1.75 02/10/21 Copyright 1997 J. Schilling').
scsibus2:
2,0,0 200) 'SAMSUNG ' 'CDRW/DVD SM-348B' 'T503' Removable CD-ROM
2,1,0 201) *
2,2,0 202) *
2,3,0 203) *
2,4,0 204) *
2,5,0 205) *
2,6,0 206) *
2,7,0 207) *
Podemos ser bastante genéricos em relação à marca do drive fazendo:
# cdrecord --scanbus 2> /dev/null | grep -E '[^\*]$' | grep -oE
'[0-9],[0-9],[0-9]'
2,0,0
Ou seja:
cdrecord --scanbus 2> /dev/null # enviamos a stderr pro espaço
grep -E '[^\*]$' # pegamos as linhas que não terminam em '*'(usando
lista negada)
grep -oE '[0-9],[0-9],[0-9]' # pegamos apenas três números separados
por vírgulas.
Era isso?
--
Andreyev
PS: como sempre, NÃO utilize isso em ambientes de produção antes de
realizar testes!