Shell Geek Preimenovanje več datotek naenkrat
Recimo, da imate imenik s stotinami datotek z napačnimi imeni datotek in želite zamenjati vse datoteke, ki vsebujejo test z prod. (to je neprimeren primer). To lahko zlahka naredimo z ukazom “za” v bash, v kombinaciji z malo bash dobrote. Danes se bomo naučili, kako zamenjati besedilo v spremenljivki v zanki.
Ukaz "za" deluje tako:
za var in; do $ var; končano
Lahko ga zamenjate s katerim koli vzorcem ujemanja datotek, kot je * ali * .txt, in ga lahko zamenjate s katerim koli ukazom linux. Ukaz se bo izvajal zaporedno na vsaki od datotek, ki se ujemajo z vzorcem ujemanja datotek.
To je tisto, kjer je ravnanje s spremenljivkami bash še bolj zanimivo. Namesto, da naredimo nekaj podobnega »mv $ var«, lahko besedilo v imenu datoteke nadomestimo s to sintakso:
$ var / originaltext / replacetext
Zdaj, če zaženemo ta ukaz v našem imeniku:
za f in *; naredite mv $ f $ f / test / prod
Za vsako datoteko, ki jo spremlja *, bo bash izvedel ukaz, podoben temu:
mv test.config prod.config
Ugotovil sem, da je znanje o ukazni lupini neprecenljivo pri upravljanju strežnikov ali samo za upravljanje zbirke datotek in mi je prihranilo toliko časa, kot bi bilo sicer ročno delo.
In ja, se zavedam, da obstajajo številna orodja, ki lahko dosežejo preimenovanje več datotek.