Licenza
Sistema operativo
Linux
Lingua
Inglese
Recensito da

Nametrans

Rinominare automaticamente più file

Nametrans è uno strumento per rinominare automaticamente file in sottocartelle. A tutti capita di trovarsi con la necessità di rinominare molti file, magari ripartiti in più sottocartelle. Ed è scomodo, perché per procedere manualmente si perde molto tempo, ed è una operazione noiosa. Per fortuna, i computer sono molto bravi a svolgere operazioni noiose, e Nametrans si occupa proprio di questo. Il programma ottiene l’elenco di tutti i file contenuti in una cartella e nelle varie subdirectory. Poi, cerca una parola in ciascuno dei nomi dei file e la sostituisce con un’altra. Per chi conosce le espressioni regolari, si possono utilizzare anche queste (con la sintassi di Python). In questo modo diventa molto facile sostituire parti del nome di centinaia di file. Volendo, è persino possibile integrare Nametrans in propri script, per generare le stringhe da cercare e sostituire con altri programmi.

L’interfaccia grafica di Nametrans è molto semplice: la prima cosa da fare è selezionare la cartella in cui cercare i file. Se viene spuntata la casella Recursive, verranno trovati anche i file nelle sottocartelle, altrimenti si considera solo la cartella principale. Si possono anche indicare una serie di altre opzioni, per esempio se ignorare maiuscole e minuscole, se considerare solo file o solo cartelle.

Le informazioni fondamentali, ovviamente, sono la stringa da cercare e quella da sostituire. Volendo, si possono anche usare le espressioni regolari, per poter rinominare in modo più intelligente i file. Nametrans ha anche una interfaccia a riga di comando, utile per automatizzare la sostituzione dei nomi in base a qualche script.

Il vantaggio fondamentale di Nametrans è che è molto semplice da usare. Naturalmente, si può ottenere lo stesso risultato anche con la semplice bash, ma bisogna dare un comando di questo tipo:

find ./ -name '*' -print0 | xargs -0 -n1 bash -c 'mv "$0" "$(echo "$0" | sed -r "s/140861-/snap/g")" 2>/dev/null'

Questo cerca tutti i file (cioè *) nella cartella attuale (cioè ./), sostituendo il testo 140861- con il testo snap.