Početna » kako da » Shell Geek Preimenovanje više datoteka odjednom

    Shell Geek Preimenovanje više datoteka odjednom

    Recimo da imate direktorij sa stotinama datoteka s pogrešnim nazivima datoteka, a želite zamijeniti svaki naziv datoteke koji sadrži test s štap. (ovo je izmišljeni primjer). To možemo jednostavno učiniti pomoću naredbe "za" u bash-u, u kombinaciji s malo bash dobrote. Danas ćemo naučiti kako zamijeniti tekst u varijabli u petlji for.

    Naredba "za" radi ovako:

    za var in; do $ var; učinjeno

    Možete zamijeniti s bilo kojim uzorkom podudaranja datoteka, kao što je * ili * .txt, i možete ga zamijeniti s bilo kojom linux naredbom. Naredba će se izvoditi u slijedu na svakoj datoteci koja odgovara obrascu podudaranja datoteka.

    Ovo je mjesto gdje rukovanje bash varijablama čini ga još zanimljivijim. Umjesto da radimo nešto poput "mv $ var", možemo zamijeniti tekst u nazivu datoteke pomoću ove sintakse:

    $ Var / originaltext / replacetext

    Sada, ako pokrenemo ovu naredbu u našem direktoriju:

    za f in *; učinite mv $ f $ f / test / prod

    Za svaku datoteku koja odgovara *, bash će izvršiti naredbu sličnu ovome:

    mv test.config prod.config

    Otkrio sam da je znanje o ljusci od neprocjenjive važnosti pri administriranju poslužitelja ili samo za upravljanje zbirkom datoteka te mi je uštedjelo vrijeme onoga što bi inače bilo ručno.

    I da, shvaćam da postoji niz alata koji mogu izvršiti preimenovanje više datoteka.