Tengo una carpeta que contiene varias otras carpetas, cada una con el nombre de este formato:
Company XYZ (1999 OneWordDescription)
Estoy intentando filtrar los que están marcados como 1995 o anteriores, para poder moverlos a otra carpeta y luego eliminarlos manualmente. La fecha de modificación/creación no ayudará, ya que todas se han modificado desde entonces y las fechas de creación simplemente no son precisas por algún motivo.
¿Qué comando o script de Linux puedo ejecutar para mover todo lo que tenga "(1995" y versiones anteriores a un directorio diferente?
Respuesta1
Para mover todas las carpetas de los años 1980 a 1995, inclusive, ejecute:
shopt -s nullglob
mv *'('{1980..1995}*/ /some/path/
El shopt -s nullglob
comando no es estrictamente necesario pero elimina los mensajes de error si falta alguno de los años.
Lo anterior utiliza expansiones de llaves {1980..1995}
para generar todos los años explícitamente. Puedes ver cómo funciona la expansión de llaves usando solo una echo
declaración:
$ echo {1980..1995}
1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995