Ç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 .jpgveya .cr2dosyaya 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 -lBunu kullanarak ikinci sütunda sabit bağlantı sayısını görebilirsiniz.
rmbu 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 fbir dosyanın sonuçlarını kaydedebilir, sonra işaretlenmişfind /images -type l -exec readlink {} \; | egrep myfilesdosyaların bir listesini almak için kullanın ve daha/imagessonrasedkaydettiğ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 .