Antecedentes
En Linux puedes:
- Listar un grupo de archivos con
ls Filename*
- Eliminar un grupo de archivos con
rm Filename*
- Mover un grupo de archivos con
mv Filename* /New/Directory
- Pero no puede copiar un grupo de archivos con:
cp Filename* *.bak
Cambiar el cp
comando de Linux para copiar el grupo de archivos
Tengo un grupo de archivos que me gustaría copiar sin ingresar los nombres uno por uno y usando el cp
comando:
$ ls gmail-meta3*
gmail-meta3 gmail-meta3-REC-1558392194-26467821
gmail-meta3-LAB-1558392194-26467821 gmail-meta3-YAD-1558392194-26467821
¿Cómo puedo usar algo como el viejo comando de DOS copy gmail-meta3* *.bak
?
No quiero escribir un comando similar cuatro veces:
cp gmail-meta3-LAB-1558392194-26467821 gmail-meta3-LAB-1558392194-26467821.bak
Estoy buscando un script / función / aplicación que acepte parámetros para el grupo de nombre de archivo antiguo y nuevo y no algo con nombres de archivo codificados. Por ejemplo, un usuario puede escribir:
copy gmail-meta3* *.bak
o pueden escribir:
copy gmail-meta3* save-*
touch aa ab ba; mkdir bb; cp a* b*; ls *
*
para los nombres de los archivos de origen, pero no para los nombres de los archivos de destino. Como tal, el comodín sustituto (creo que ##
fue sugerido pero me estoy inclinando hacia %
) tendrá que usarse para el objetivo. Creo que esto es lo que estás reforzando? No esperaba cambiar el cp
comando en absoluto. Simplemente cree una secuencia de comandos de envoltura llamada copy
que emuló (dentro de lo razonable) el comando de copia de DOS.