Úvodná » ako » Shell Geek Premenujte viacero súborov naraz

    Shell Geek Premenujte viacero súborov naraz

    Povedzme, že máte adresár so stovkami súborov s nesprávnymi názvami súborov a chcete nahradiť každý názov súboru obsahujúci test s prod. (toto je vykreslený príklad). Môžeme to ľahko urobiť s príkazom "pre" v bash, v kombinácii s trochou bash dobroty. Dnes sa naučíme, ako nahradiť text v premennej v smere slučky.

    Príkaz "pre" funguje takto:

    pre var v; urobiť $ var; hotovo

    Môžete nahradiť s akýmkoľvek vzorom zhody súborov, napríklad * alebo * .txt a môžete ho nahradiť s ľubovoľným príkazom linux. Príkaz bude spustený postupne v každom zo súborov zodpovedajúci vzoru zhody súborov.

    To je miesto, kde sa variabilná manipulácia bash stáva ešte zaujímavejším. Namiesto toho, aby sme robili niečo ako "mv $ var", môžeme nahradiť text v názve súboru pomocou tejto syntaxe:

    $ Var / Originaltext / replacetext

    Takže teraz, ak spustíme tento príkaz v našom adresári:

    pre f v *, do mv $ f $ f / test / prod;

    Pre každý súbor zodpovedajúci *, bash vykoná podobný príkaz:

    mv test.config prod.config

    Zistil som, že znalosť shellu je neoceniteľná pri administrácii serverov alebo len pri správe súborov a ušetrí mi hodiny, čo by inak bolo ručné práce.

    A áno, uvedomujem si, že existuje niekoľko nástrojov, ktoré dokážu premenovať viac súborov.