Supponiamo che tu abbia una directory con centinaia di file con nomi di file errati e che desideri sostituire ogni nome di file che contiene test con pungolo. (questo è un esempio forzato). Possiamo farlo facilmente con il comando "for" in bash, combinato con un po 'di bontà. Oggi impareremo come sostituire il testo in una variabile in un ciclo for.
Il comando "for" funziona così:
for var in ;do $var;done
Puoi sostituire
Questo è dove la gestione delle variabili bash lo rende ancora più interessante. Invece di fare semplicemente qualcosa come "mv $ var", possiamo sostituire il testo nel nome del file usando questa sintassi:
${var/originaltext/replacetext}
Così ora, se eseguiamo questo comando sulla nostra directory:
for f in *;do mv $f ${f/test/prod};done
Per ogni file corrispondente a *, bash eseguirà un comando simile a questo:
mv test.config prod.config
Ho scoperto che la conoscenza della shell ha un valore inestimabile quando si amministrano i server o solo per gestire la raccolta dei file e mi ha risparmiato ore di quello che altrimenti sarebbe stato un lavoro manuale.
E sì, mi rendo conto che ci sono un certo numero di strumenti che possono eseguire la rinomina di più file.