Shell Geek: Preimenuj više datoteka odjednom

Shell Geek: Preimenuj više datoteka odjednom
Shell Geek: Preimenuj više datoteka odjednom

Video: Shell Geek: Preimenuj više datoteka odjednom

Video: Shell Geek: Preimenuj više datoteka odjednom
Video: Kako najbrže, bez kabla, prebaciti datoteke sa telefona na računar? - YouTube 2024, Svibanj
Anonim

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 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:

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.

Preporučeni: