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

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

Re: [shell-script] Re: [shellscript] Re: renomeando arquivos


From: Flavio Junior
Subject: Re: [shell-script] Re: [shellscript] Re: renomeando arquivos
Date: Mon, 26 May 2008 11:14:20 -0300

O "pulo do gato" q o Ivan usou ali e não explicou que talvez tenha te
confundido tambem é o '&' no sed..

O caracter & na segunda parte da substituição do sed quer dizer "o que
casou na primeira parte" ou seja:

[root@muttley ~]# echo "teste de nada" | sed 's/nada/macaco &/'
teste de macaco nada
[root@muttley ~]# echo "teste de nada" | sed 's/nada/macaco/'
teste de macaco

Então elee usou o "&" ali pra pegar o nome original do arquivo.

--

Flavio do Carmo Junior

2008/5/26 Ivan lopes <address@hidden>:
> o comando `sh' torna real tudo que eh passado para ele pelo pipe
>
> entao se eu fizer:
> $pwd
> /home/cornelluniversity/ivan
>
> $ echo p | sed 's/.*/&wd/'
> pwd
>
> logo se fizer
> $ echo p | sed 's/.*/&wd/' | sh
> /home/cornelluniversity/ivan
>
> faco uma operacao pwd normal.
>
> no seu caso eu fiz:
>
> `ls' para selecionar entrada, `sed' para formatar entrada e `sh' para
> ativar comando formado
>
> ===
> exemplo real:
> $ # fui para o diretorio /tmp
> $ cd /tmp
>
> $ # criei 3 arquivos
> $ touch a101.txt b202.txt cd303.txt
>
> # objetivo renomear `a101.txt' e `b202.txt' para 101_a.txt 202_b.txt
>
> $ ls [ab]*| sed 's/\([a-z]\+\)\([0-9]\+\).txt/mv & \2_\1.txt/'
> mv a101.txt 101_a.txt
> mv b202.txt 202_b.txt
>
> pronto funciona ... para virar realidade basta usar o sh ...
>
> $ ls [ab]* | sed 's/\([a-z]\+\)\([0-9]\+\).txt/mv & \2_\1.txt/' | sh
>
> pronto renomeou!
>
> eu vou escrever um doc descente no meu blog sobre o sh via pipe ...
>
> --
> []'s
> Ivan Carlos da Silva Lopes
> Engenheiro Eletrônico e de Computação
>
> blog --> http://lopesivan.blogspot.com/
>
> 


reply via email to

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