Tengo un gran directorio "myfiles" lleno de documentos misceláneos y no quiero modificar su estructura.
Por lo tanto, creé (varios) otros directorios para cada clase de documentos. Por ejemplo, tengo un directorio de "imágenes" que tiene enlaces simbólicos a cada uno .jpgo un .cr2archivo en el directorio "myfiles" más otros archivos descriptivos para cada enlace simbólico (con el mismo nombre de archivo) con descripción y otros metadatos. Los enlaces simbólicos en el directorio / images pueden tener un nombre diferente del archivo vinculado original.
Estoy tratando de encontrar la forma más sencilla de asegurarme de que todos y cada uno de los archivos de imagen en el directorio "myfiles" tengan un enlace simbólico en el directorio "images".
Vea un ejemplo de la estructura de carpetas
/myfiles/a.doc
/myfiles/b.jpg
/myfiles/c.cr2
/myfiles/d.mov
debería resultar
/images/b_800x600.jpg
/images/b_800x600.desc
/images/c_3820x5640.cr2
/images/c_3820x5640.cr2
ls -lpuede ver el recuento de enlaces en la segunda columna.
rmesos directorios de enlaces simbólicos y úselos, pax -rwl -s "\|.*regex|modifes_filename|" /path/to/myfiles/*.jpg /path/to/jpg_dirpor ejemplo, para obtener enlaces duros con nombres de archivo alterados programáticamente solo para aquellos archivos que coinciden con sus archivos jpgs. Puede obtener mucho más que eso, como lotes basados en tiempos de cambio, etc.
find /myfiles -type fa en un archivo y luego usarlosfind /images -type l -exec readlink {} \; | egrep myfilespara obtener una lista de archivos que están enlazados y/imagesluego iterar sobre los resultados haciendo unseden cada uno para eliminar las rutas en el primer archivo que guarda ya que ya tienen el enlace simbólico y los archivos que quedan son los archivos que no tienen el enlace simbólico.