Pretpostavimo da imate direktorij sa stotinama datoteka s pogrešnim nazivima datoteka i želite zamijeniti svaki naziv datoteke koji sadrži test s štap, (ovo je izuzetan primjer). To lako možemo učiniti s "for" naredbom u bash, u kombinaciji s malo bajedosti. Danas ćemo saznati kako zamijeniti tekst u varijabli u obliku petlje.
Zapovjed "za" radi ovako:
for var in ;do $var;done
Možete zamijeniti
Ovo je mjesto gdje bash upravljanje varijablama čini još zanimljivijim. Umjesto da radimo nešto poput "mv $ var", možemo zamijeniti tekst u nazivu datoteke pomoću ove sintakse:
${var/originaltext/replacetext}
Dakle sada, ako pokrenemo ovu naredbu na našem direktoriju:
for f in *;do mv $f ${f/test/prod};done
Za svaku datoteku podudarnu s *, bash će izvršiti sličnu naredbu:
mv test.config prod.config
Otkrio sam da je poznavanje ljuske neprocjenjivo kada se upravlja poslužiteljima ili samo za upravljanje zbirkama datoteka i spasio mi je sati onoga što bi inače bilo ručno.
I da, shvaćam da postoji niz alata koji mogu ostvariti preimenovanje više datoteka.