
Me pregunto si alguien sabe cómo encontrar un patrón y luego moverlo a una ubicación diferente.
Por ejemplo, tengo muchos archivos llamados:
odbc.ini_20110630
odbc.ini_20110639
odbc.ini_20110643
etc...
Quiero buscar el patrón de just odbc.ini
y moverlos todos a una carpeta diferente.
No estoy muy familiarizado con cómo ejecutar dos comandos a la vez (tubería).
Respuesta1
Puedes usar
find . -name "odbc.ini*" -exec mv {} destination \;
Esto supone que sus archivos están en la jerarquía de directorios comenzando en el directorio actual .
.
Respuesta2
si todos los archivos están en un solo directorio y no necesita ninguna recursividad:
shopt -s nullglob
mv odbc.ini* /new/directory/
si necesitas recursividad:
find "${dir:-.}" -type f -name 'odbc.ini*' -exec mv {} /new/directory \;
Otro enfoque podría ser extglob
pero lo dejaré como ejercicio para el lector =]
Respuesta3
Si todos los archivos están en el mismo directorio:
mv /path/to/source/odbc.ini* /path/to/destination
Si también desea mover archivos en subdirectorios:
shopt -s globstar # put this line in your ~/.bashrc
mv /path/to/source/**/obdc.ini* /path/to/destination