shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Cada linha em uma nova variável...


From: MrBiTS
Subject: Re: [shell-script] Cada linha em uma nova variável...
Date: Tue, 06 May 2008 15:48:03 -0300
User-agent: Thunderbird 2.0.0.14 (Windows/20080421)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

| Olá para todos, boa tarde.
|
| Tenho dois grupos de execuções:
|
| O primeiro lista os dispositivos de disco localizados no sistema:
| fdisk -l | grep -v Disk | grep -v dm | grep /dev/ | tr -s ' ' | cut -d' '
| -f1
|
| O segundo, informa o sistema de arquivos que corresponde a cada uma da
| linhas do resultado acima:
| fdisk -l | grep -v Disk | grep -v dm | grep /dev/ | tr -s ' ' | cut -d' '
| -f6,7 | tr -d [:xdigit:] | sed 's/^ \+//'
|
| O que eu preciso é:
|
| O valor de cada uma linha gerada pelas execuções, seja copiado ou movido
| para uma nova variável (criadas conforme a quantidade de linhas que as
| execuções retornarem).
|
| Alguém tem uma idéia?
|

EM BASH, você pode trabalhar com arrays. Talvez, algo como:

COUNT=0
for X in $(fdisk -l | grep -v Disk | grep -v dm | grep /dev/ | \
        tr -s ' ' | cut -d' ' -f1) ; do
                COUNT=$((COUNT + 1))
                echo DEV[$COUNT]=$X
done

E o resultado:

DEV[1]=/dev/hda1
DEV[2]=/dev/hda2
DEV[3]=/dev/hdb1

Para a segunda expressão, a lógica é a mesma:

COUNT=0
for X in $(fdisk -l | grep -v Disk | grep -v dm | grep /dev/ | \
        tr -s ' '   | cut -d' ' -f6,7 | tr -d [:xdigit:] | \
        sed 's/^ \+//') ; do
                COUNT=$((COUNT + 1))
                echo FS[$COUNT]=$X
done

E o resultado é:

FS[1]=Linux
FS[2]=swp
FS[3]=Linux
FS[4]=Linux


Daí para frente é com você



-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIIKfjrDdxWm3R8YYRAjq7AJ49hJ84ADbomid0Jd2azKUlLwZEbQCfcsIg
w4qHjMTEKbvdZ+pgC8t8Iv0=
=z3zd
-----END PGP SIGNATURE-----


reply via email to

[Prev in Thread] Current Thread [Next in Thread]