Operaciones sobre varios archivos, exceptuando algunos.

Roberto Bonvallet rbonvall en inf.utfsm.cl
Vie Jun 15 18:16:37 CLT 2007


Mario Martinez dijo:
> > O algo en la linea:
> > 
> > $ cp $(echo * | grep -v excepcion) ~/destino

Esta manera falla porque echo muestra todos los archivos en la misma línea,
y grep después se cepilla la línea entera.

> Esta se ve algo mas elegante, tambien me gusto. Yo la deje asi:
> 
> cp $(ls | egrep -v 'excepcion1|excepcion2') ~/destino 

Ambas maneras fallan si hay nombres de archivos con espacios.
La siguiente manera es inmune a los espacios:

  ls | egrep -v '...' | while read f; do cp "$f" ~/destino; done

-- 
Roberto Bonvallet


Más información sobre la lista de distribución Linux