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.