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

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

Re: [shell-script] Outra forma de executar.


From: MrBiTs
Subject: Re: [shell-script] Outra forma de executar.
Date: Sun, 21 Feb 2010 19:57:42 -0300
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9pre) Gecko/20100217 Lightning/1.0b1 Shredder/3.0.3pre

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 02/21/2010 07:35 PM, Alexandre Gorges wrote:
> Lista,
> Recebo alguns dados separados por | e da forma que eu fiz está funcionando
> sem nenhum problema. Meu interesse é mais para saber se existe uma forma
> mais fácil de executar a operação.
> 
> Meu script
> 
> Recebo dados os dados:
> 
> Exe|zip|wmv ....
> 
> #trocar | por espaco
> troca_pipe(){
>         echo "$*" | tr '|' ' '
> }
> 
> anexos="$(troca_pipe $2)"
> 
> Passa os dados para exe zip wmv ....
> 
> echo "$anexos" | awk '{ OFS = "\n"; $1 = $1; print $0}' | while read ext; do
>                        ..... Insere os dados com sed em um arquivo.
> done

Uma coisa que eu acho bárbara é o IFS. Digamos que você faça algo assim

OLDIFS=${IFS}
IFS="|"

echo "exe|zip|wmv" | while read EXT ; do
        echo $EXT
done
IFS=$OLDIFS


Além disso, imaginando que você tenha um arquivo com vários registros separados 
por |, você pode fazer algo assim:

OLDIFS=${IFS}
IFS="|"

cat arquivo | while read LINHA ; do
        set - $LINHA
        echo $1
        echo $2
        echo $3
done
IFS=$OLDIFS

O set - vai separar a sua linha em campos automagicamente.




- -- 

Um abraço

.0. MrBiTs - address@hidden
..0 GnuPG  - 
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x6EC818FC2B3CA5AB
000 http://www.mrbits.com.br


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iQEcBAEBCAAGBQJLgbpmAAoJEG7IGPwrPKWra+oH/3yVrONc+p+pDIv0cubNYYNx
AoF+fMsxM/Kmng+qHTMuehvmqbKdMI+CV8jc0vVxHdySfQne28JO8Q1gu4nDYcYO
iPLqJOPhHzhxBhGZwNb1tSj/BaaSYWZ3oNTE/KikaPxXMjpAOrus5H7K5q7QmLZt
3qjjN7rHoHee4H94vkB/G/onWgd5d+dudGOHBJuAwGajAqlz0Cj7lIfhpB57zq/g
5P2oOiapMjhUiwCpgxodR4qQgCEHj/r6mbKkX6tcRsNd4Y335s05CpJnzpuxTkI2
j7dwdXjnJHCDYUrH87bBZGmVNtz/70AyzmoMy8/0+V25LS2vOeDFiP9QEfbQaD8=
=iV29
-----END PGP SIGNATURE-----


reply via email to

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