Çeşitli belgelerle dolu büyük bir "myfiles" dizinim var ve yapısını değiştirmek istemiyorum.
Bu nedenle her bir belge sınıfı için (birkaç) başka dizin oluşturdum. Örneğin , "myfiles" dizinindeki her dosyaya .jpg
veya .cr2
dosyaya artı (açıklamaları ve diğer meta verileri içeren) her bir simge bağlantısı (aynı dosya adıyla) için diğer açıklayıcı dosyalar içeren bir "görüntüler" dizinim var. / İmages dizinindeki sembolik bağlantılar, bağlı orijinal dosyadan farklı bir ada sahip olabilir.
Ben "myfiles" dizinindeki her görüntü dosyası "görüntüler" dizinine bir symlink olduğundan emin olmak için en basit yolu bulmaya çalışıyorum.
Klasör yapısı örneğine bakın
/myfiles/a.doc
/myfiles/b.jpg
/myfiles/c.cr2
/myfiles/d.mov
sonuç vermeli
/images/b_800x600.jpg
/images/b_800x600.desc
/images/c_3820x5640.cr2
/images/c_3820x5640.cr2
ls -l
Bunu kullanarak ikinci sütunda sabit bağlantı sayısını görebilirsiniz.
rm
bu symlink dirs ve pax -rwl -s "\|.*regex|modifes_filename|" /path/to/myfiles/*.jpg /path/to/jpg_dir
örneğin sadece jpgs eşleşen dosyaları için programlı olarak değiştirilmiş dosya adları ile hardlink almak için kullanın . Bundan daha fazlasını elde edebilirsiniz - değişim sürelerine ve benzerlerine dayalı
find /myfiles -type f
bir dosyanın sonuçlarını kaydedebilir, sonra işaretlenmişfind /images -type l -exec readlink {} \; | egrep myfiles
dosyaların bir listesini almak için kullanın ve daha/images
sonrased
kaydettiğiniz ilk dosyadaki yolları silmek için her biri üzerinde bir tane yaparak sonuçlar üzerinde tekrarlayın symlink ve kalan dosyalar symlink olmayan dosyalardır .