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

Re: bash pipe ed altro



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

Il comando chown non legge lo standard input; legge invece
gli argomenti passatigli in linea di comando. Che sono due cose diverse.
Allo stesso modo, insomma

ls pip*  | rm

non funziona.
Puoi fare quello che desideri usando "xargs"
Per esempio:

ls pip*  | xargs rm

ls *.zip | xargs -n 1 unzip

oppure

 find . -user bartola | xargs -n 1 chown pippo *

xargs --help

per saperne di piu'.



> ne'
> find . -user bartola < chown pippo *
> che vorrei usare per modificare l'user di tutti i file di bartola in
> file di pippo.
>
> 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*



devi fare uno scriptino bash: per esempio apri un editor e ci scrivi:

#######
for i in `ls *ABC*`
do

NEW_N=`echo $i |sed -e 's/ABC/EFGH/'`
echo $NEW_N

cp $i $NEW_N

done
#########

poi fai cut&paste sulla bash.

puoi trasformare questo in uno script bash degno di questo nome,
con un pochino d'impegno in piu'. Ti consiglio assolutamente di
consultare http://www.tldp.org/LDP/abs/html/index.html

Ciao




Reply to: