Koduleht » kuidas » Shell Geek Nimeta mitu faili korraga ümber

    Shell Geek Nimeta mitu faili korraga ümber

    Oletame, et teil on kataloog, millel on sadu vale failinimedega faile, ja soovite asendada iga failinime, mis sisaldab test koos prod. (see on näide). Me saame seda teha bash-i käsuga “for”, kombineerituna natuke bash headusega. Täna õpime, kuidas muuta muutuja tekst tekstis silmus.

    Käsk "for" toimib nii:

    var in; do $ var; valmis

    Võite asendada mis tahes failivastutusmustriga, näiteks * või * .txt, ja saate asendada mis tahes linux-käsklusega. Käsk käivitatakse järjestikku iga faili puhul, mis on sobitatud failivastutusmustriga.

    See muudab bash muutuva käitlemise veelgi huvitavamaks. Selle asemel, et teha midagi „mv $ var”, saame asendada failinime tekst selle süntaksiga:

    $ var / originaltext / substitetext

    Nüüd, kui käivitame selle käsu meie kataloogis:

    f puhul *, tehke mv $ f $ f / test / prod;

    Iga faili puhul, mis vastab * -le, täidab bash sellele sarnase käsu:

    mv test.config prod.config

    Ma olen leidnud, et teadmised koorest on serverite haldamisel või lihtsalt failide kogumise haldamisel hindamatu väärtusega ja säästnud tunde sellest, mis muidu oleks olnud käsitsi tööd.

    Ja jah, ma mõistan, et on mitmeid tööriistu, mis võimaldavad mitme faili ümbernimetamist.