Saya memiliki direktori "myfiles" besar yang penuh dengan dokumen lain-lain dan tidak ingin mengubah strukturnya.
Karena itu saya membuat (beberapa) direktori lain untuk setiap kelas dokumen. Sebagai contoh, saya memiliki "gambar" direktori yang memiliki symlink untuk setiap .jpg
atau .cr2
file dalam "myfiles" direktori ditambah file deskriptif lain untuk setiap symlink (dengan nama file yang sama) dengan deskripsi dan metadata lainnya. Symlinks di direktori / images mungkin memiliki nama yang berbeda dari file tertaut asli.
Saya mencoba menemukan cara paling sederhana untuk memastikan setiap dan semua file gambar dalam direktori "myfiles" memiliki symlink ke direktori "gambar".
Lihat contoh struktur folder
/myfiles/a.doc
/myfiles/b.jpg
/myfiles/c.cr2
/myfiles/d.mov
harus menghasilkan
/images/b_800x600.jpg
/images/b_800x600.desc
/images/c_3820x5640.cr2
/images/c_3820x5640.cr2
ls -l
Anda dapat melihat jumlah hardlink di kolom kedua.
rm
dir symlink tersebut dan gunakan pax -rwl -s "\|.*regex|modifes_filename|" /path/to/myfiles/*.jpg /path/to/jpg_dir
misalnya untuk mendapatkan hardlink dengan nama file yang diubah secara terprogram hanya untuk mereka yang file yang cocok dengan jpg Anda. Anda bisa mendapatkan lebih banyak dari itu - seperti batching berdasarkan waktu perubahan dan lain
find /myfiles -type f
file kemudian gunakanfind /images -type l -exec readlink {} \; | egrep myfiles
untuk mendapatkan daftar file yang disinkronkan/images
kemudian beralih pada hasil yang dilakukansed
pada masing-masing untuk menghapus path di file pertama yang Anda simpan karena mereka sudah memiliki symlink dan file yang tersisa adalah file yang tidak memiliki symlink.