Rinomina ': 2f' su '-' nei nomi delle cartelle in Linux

Ho un disco rigido da un'unità NAS in cui sono stati inseriti dei file da un Mac. Tuttavia, alcuni dei nomi di file erano stati, ad esempio, "backup 16/07/14", che è stato poi modificato in un backup 16: 2f07: 2f14 'sul NAS.

Ciò sta provando un problema durante la copia di file su un nuovo NAS. Quindi quello che sto cercando di fare è solo passare il ': 2f' a '-' eseguendo un command in una cartella che ospita tutte queste altre cartelle.

Sono ragionevolmente nuovo a Linux, quindi sono bloccato. Ho caricato il disco rigido su ubuntu su una macchina virtuale.

Eventuali suggerimenti?

Se si dispone di perl-rename aka prename :

 find . -depth -name "*:*" -exec perl-rename 's/:2f/-/g' {} + 

Senza:

 find . -depth -name "*:*" | while read -r name; do mv -nT "$name" "${name//:2f/-}" fi 

Devi usare

 sed 

command. Può essere usato per sostituire i caratteri nei nomi dei file. Per prima cosa trovi i file con

 find 

command e uso "|" per condurli a sedare.