Tengo una lista de archivos con números consecutivos como sufijos. Me gustaría copiar solo un rango de estos archivos. ¿Cómo puedo especificar un rango como parte de mi comando cp?
$ls
P1080272.JPG* P1080273.JPG* P1080274.JPG* P1080275.JPG* P1080276.JPG* P1080277.JPG*
P1080278.JPG* P1080279.JPG* P1080280.JPG* P1080281.JPG* P1080282.JPG* P1080283.JPG*
Me gustaría copiar archivos de P1080275.JPG a P1080283.JPG con algo similar a:
$cp P10802[75-83].JPG ~/Images/.
¿Hay alguna forma de hacer esto?
Zsh, con la opción extendedglob, tiene el operador globbing (coincidencia de patrones).
coincidirá con los nombres de archivo en el directorio actual que coincida con ese patrón (tenga en cuenta que P1080275.JPG coincide pero P108020000000075.JPG)
En el otro extremo, el operador de expansión de cadena {x ... y} (compatible con zsh y versiones recientes de bash y ksh93), se expande a las cadenas de x a y, independientemente de los archivos que haya en el directorio actual.
copiará los archivos coincidentes, también lo hará
Pero obtendrá errores si, por ejemplo, P1080281.JPG no existe.
fuente
Que este trabajo para usted:
fuente