mover archivos que coincidan con nombres de archivos en otro directorio

mover archivos que coincidan con nombres de archivos en otro directorio

Tengo dos directorios: el que dir_1tiene a.mp4,, y b.mp4el que solo tiene ,. El script debe moverse hacia y porque solo estos nombres de archivos coinciden con los nombres de archivos en . Me resulta difícil seguir los scripts cuando necesito realizar este tipo de operaciones particulares.c.mp4d.mp4dir_2a.txtb.txta.mp4b.mp4dir_3dir_2

Respuesta1

Intentar,

for f in "dir_2"/*; do
    filename=${f##*/}
    mv -t "dir_3" "dir_1/${filename%.*}".*
done
  • Bucle de archivos dir_2(úselo *.txtpara buclear solo estos archivos)
  • ${f##*/}le da el nombre del archivo sin la ruta.
  • ${filename%.*}te da el nombre del archivo sin extensión.
  • mv -t "dir_3" "dir_1/${filename%.*}".*mueve todos los archivos con la extensión dada filename(eliminada de la extensión) a dir_3. Puedes especificar .mp4en lugar de .*si quieres.

información relacionada