On Thursday 06 January 2005 08:46, Marius Stan wrote:
> Liviu Daia wrote:
> >(3) && are sens numai pentru un shell, iar argumentul lui -exec nu se
> > executa intr-un shell. Pune cele doua comenzi intr-un script si
> > executa script-ul. Sau mai simplu:
>
> am pus cele 2 comenzi intr-un script.
Poti evita scrierea unui script temporar folosind o sintaxa de genul:
find ... -exec sh -c 'comanda1; comanda2 cu_parametrul "{}"; comanda3 ' \;
Folosirea mai multor comenzi -exec la un find de multe ori nu e acceptabila
pentru ca se intampla sa ai nevoie de executia unor comenzi in functie de
anumite conditii.
Spre exemplu daca ai un director cu multe fisiere *.mp3 si *.ogg si vrei sa le
muti, in functie de extensie, in directorul MP3s respectiv OGGs poti folosi:
find my_dir -type f -exec bash -c '[[ "{}" == *mp3 ]] && mv "{}" MP3s ||
{ [[ "{}" == *ogg ]] && mv "{}" OGGs ; }' \;
Mihai
---
Detalii despre listele noastre de mail: http://www.lug.ro/