Imaginemos que tenemos un directorio con decenas de miles de ficheros. Imaginemos ahora que necesitamos copiarlos casi todos, a otro directorio. 驴C贸mo conseguimos, mediante un 煤nico comando, realizar la copia de todos los ficheros excepto los que no necesitamos copiar?
Una soluci贸n ser铆a, estando ubicados en el directorio de origen (que contiene los ficheros) con la siguiente l铆nea:
ls | egrep -v ‘^excepcion1|^excepcion2|^excepcion3’ | xargs -i cp {} /dest_folder/
En esta l铆nea, excepcion1 corresponde con el nombre de un fichero que no queremos copiar (o en el caso de tener varios ficheros cuyo nombre empieza por excepcion1, con todos ellos). An谩logamente con excepcion2 y excepcion3. dest_folder, corresponde con el directorio de destino.
Por ejemplo, si se quisieran copiar todos los archivos, excepto los que empiezan por adoc*, data*, table* y user*, se podr铆a usar la siguiente sentencia:
ls | egrep -v ‘^adoc|^data|^table|^user’ | xargs -i cp {} /dest_folder/
NOTA: con ‘^’ se indica que el nombre del archivo (en este caso) ha de empezar con el patr贸n indicado.