Ho una grande directory "myfiles" piena di documenti vari e non voglio modificarne la struttura.
Ho quindi creato (diverse) altre directory per ogni classe di documenti. Ad esempio, ho una directory "images" che contiene collegamenti simbolici a ciascuno .jpgo .cr2file nella directory "myfiles" più altri file descrittivi per ciascun collegamento simbolico (con lo stesso nome file) con descrizione e altri metadati. I collegamenti simbolici nella directory / images potrebbero avere un nome diverso dal file collegato originale.
Sto cercando di trovare il modo più semplice per assicurarmi che ogni singolo file di immagine nella directory "myfiles" abbia un link simbolico nella directory "images".
Vedi un esempio della struttura delle cartelle
/myfiles/a.doc
/myfiles/b.jpg
/myfiles/c.cr2
/myfiles/d.mov
dovrebbe risultare
/images/b_800x600.jpg
/images/b_800x600.desc
/images/c_3820x5640.cr2
/images/c_3820x5640.cr2
ls -lpuoi vedere il conteggio degli hardlink nella seconda colonna.
rmquelle dir di symlink e usate pax -rwl -s "\|.*regex|modifes_filename|" /path/to/myfiles/*.jpg /path/to/jpg_dirad esempio per ottenere hardlink con nomi di file modificati a livello di programmazione solo per quei file che corrispondono ai tuoi jpg. Puoi ricavarne molto di più - come il raggruppamento in base ai tempi di cambio ecc.
find /myfiles -type fin un file, quindi utilizzarefind /images -type l -exec readlink {} \; | egrep myfilesper ottenere un elenco di file con collegamento simbolico,/imagesquindi scorrere i risultati facendo unosedsu ciascuno per eliminare i percorsi nel primo file salvato poiché già avere il link simbolico e i file rimasti sono i file che non hanno il link simbolico.