Esta es una pregunta simple. Estoy tratando de copiar todos los archivos en el directorio actual que comienzan con "axis-2" y terminan con ".jar" en un directorio de destino, digamos que es ~ / MyDirectory. Mi primer pensamiento fue intentar
cp '^axis2.*jar$' ~/MyDirectory
Pero esto no está funcionando. Ni siquiera estoy seguro de poder usar expresiones regulares con cp. Tampoco he usado expresiones regulares en mucho tiempo y mi sintaxis podría estar totalmente desactivada. Cuando intento este cp, solo aparece el mensaje de error "No existe tal archivo o directorio". ¿Alguien tiene alguna sugerencia de cómo hacer esto? ¡Gracias!
fuente
Si tiene GNU
find
y GNUcp
disponibles, puede usar expresiones regulares como en el siguiente comando:Esto puede ser útil si ni el patrón de globo ni el patrón de globo extendido bash satisfacen sus necesidades.
fuente
Realmente me gusta la sintaxis regex del
rename
script perl (por Robin Barker y Larry Wall), por ejemplo:Simplemente quería exactamente lo mismo con un comando de copia:
copy "s/OldFile/NewFile/" OldFile*
Así que dupliqué esa secuencia de comandos y cambié la declaración de cambio de nombre para copiar
File::Copy
. Et voila! Un comando de copia con sintaxis perl-regex: jcward / vopy .fuente