Pagrindinis » kaip » „Shell Geek“ Pervadinkite kelis failus vienu metu

    „Shell Geek“ Pervadinkite kelis failus vienu metu

    Tarkime, jūs turite katalogą, kuriame yra šimtai failų su netinkamais failų pavadinimais, ir norite pakeisti kiekvieną failo pavadinimą, kuriame yra bandymas su prod. (tai yra išgalvotas pavyzdys). Mes galime tai padaryti su komanda „už“, esantį bash, kartu su trupučiu boso gerumu. Šiandien mes sužinosime, kaip pakeisti kintamojo tekstą „for loop“.

    „For“ komanda veikia taip:

    for var in; do $ var; padaryti

    Galite pakeisti su bet kokiu failo atitikimo modeliu, pvz., * arba * .txt, ir galite pakeisti su bet kuria linux komanda. Komanda bus vykdoma pagal kiekvieną failą, atitinkantį failo atitikties modelį.

    Čia bazinis kintamasis tvarkymas tampa dar įdomesnis. Vietoj to, kad ką nors panašaus į „mv $ var“, galime pakeisti failo pavadinimo tekstą naudodami šią sintaksę:

    $ var / originaltext / substitetext

    Taigi dabar, jei paleisime šią komandą mūsų kataloge:

    f į *, atlikite mv $ f $ f / test / prod;

    Kiekvienam failui, kurį atitinka *, bash atliks panašią komandą:

    mv test.config prod.config

    Radau, kad žinios apie apvalkalą yra neįkainojamos administruojant serverius arba tiesiog tvarkant failų kolekciją, ir sutaupiau valandų, kas būtų buvę rankiniu būdu..

    Ir taip, suprantu, kad yra daug įrankių, kurie gali atlikti keleto failų pervadinimą.