If-Koubou

Shell Geek: Nimeä useita tiedostoja kerralla

Shell Geek: Nimeä useita tiedostoja kerralla (Miten)

Oletetaan, että sinulla on hakemisto, jossa on satoja tiedostoja, joilla on vääriä tiedostonimiä, ja haluat korvata jokaisen tiedostonimen sisältävän tiedoston testata kanssa tuot. (tämä on hienostunut esimerkki). Voimme helposti tehdä sen "for" -komennolla bashilla, yhdistettynä hieman hyvyyteen. Tänään opimme korvaamaan tekstin muuttujalle silmukalle.

Komento "for" toimii näin:

var in, do $ var; tehty

Voit korvata minkä tahansa tiedostomallin, kuten * tai * .txt, ja voit korvata sen millä tahansa linux-komennolla. Komento suoritetaan peräkkäin jokaisella tiedostoilla, jotka on sovitettu tiedostomallin mukaisesti.

Tässä bash-muuttujan käsittely tekee siitä vielä mielenkiintoisemmaksi. Sen sijaan, että tekisimme jotain "mv $ var", voimme korvata tekstin tiedostonimellä tämän syntaksin avulla:

$ Var / Originaltext / replacetext

Joten nyt, jos suoritamme tämän komennon hakemistossamme:

for f in *, tee mv $ f $ f / test / prod tehdyt

Jokaisesta tiedostosta, *, bash suorittaa samanlaisen komennon:

mv test.config prod.config

Olen havainnut, että kuoren tuntemus on korvaamaton palveluntarjoajien hallinnoimiseksi tai tiedostojen keräämisen hallintaan ja on säästellyt tuntia tuntemattomasta työstä.

Ja kyllä, tiedän, että on useita työkaluja, jotka voivat tehdä useita tiedostoja uudelleen.