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:
za var in, učinite $ var; učinjeno
Možete zamijeniti s bilo kojim oblikom podudaranja datoteka, kao što je * ili * .txt, a možete zamijeniti s bilo kojom linux komandom. Naredba će se pokrenuti u nizu na svakoj od datoteka podudaraju se s podudaranjem datoteka.
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:
za f in *, učinite mv $ f $ f / test / prod; učinjeno
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.