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

Re: bash pipe ed altro



On Aug 01, Roberto Bartola <bartola@prodesignitalia.com> wrote:

> Ciao a tutti, non capisco perche' non funziona il comando:
> 
> find . -user bartola | chown pippo *

chown non prende i nomi dei file cui cambiare i proprietari da stdin.
La regexp '*' indica tutti i file nella directory corrente, non
"prendi i dati da stdin".
Alcuni comandi accettano input da stdin, usando di solito '-' come
nome di "file", ma non e` il caso di chown.

> ne' find . -user bartola < chown pippo *

Ancora meno probabile. :-)

> che vorrei usare per modificare l'user di tutti i file di bartola
> in file di pippo.

Usa:
  find . -user bartola -exec chown pippo {} \;

Altrimenti, usando le pipe, puoi usare xargs (vedi man xargs).

> inoltre come posso rinominare i file che contengono una stringa
> nel nome in file che ne contengono un'altra fermo restando gli
> altri caratteri?  una cosa tipo
> 
> mv *ABC*  *DEFGHJ* che rinomini i file: vvvvABCxxxx           in
> vvvvDEFGHJxxxx

Uno script con sed.
I.e.:
 echo ginoABCpino | sed s/ABC/DEFGHJ/g

-- 
(=---= alberanid@libero.it =------------= PGP KeyID: 0x465BFD47 =---=)
 )                         Davide Alberani                          (
(=-= http://digilander.libero.it/alberanid/ =-= ICQ UIN: 83641305 =-=)



Reply to: