Oletame, et teil on kataloog, millel on sadade valede failinimede failid, ja soovid asendada kõik failinimed, mis sisaldavad test koos prod. (see on näide). Me võime kergesti seda teha käsuga "for" bash, koos natuke bash heast. Täna õpime, kuidas asendada tekst loendis muutujaga.
Käsk "for" töötab järgmiselt:
for var in ;do $var;done
Võite asendada
See on koht, kus bash muutuja käitlemine muudab selle veelgi huvitavamaks. Selle asemel, et lihtsalt midagi teha nagu "mv $ var", võime asendada teksti failinimega, kasutades seda süntaksit:
${var/originaltext/replacetext}
Nüüd, kui käitame selle käskluse meie kataloogis:
for f in *;do mv $f ${f/test/prod};done
Iga faili * jaoks sobitatud failiga käivitab bash sarnase käskluse:
mv test.config prod.config
Ma leidsin, et koopia tundmine on hindamatu serverite haldamisel või failide kogumise haldamiseks ning on salvestanud mulle tunde, mis oleks muidu olnud käsitsi töötamine.
Ja jah, ma saan aru, et on mitmeid tööriistu, mis võimaldavad mitme faili ümbernimetamist.