La oss si at du har en katalog med hundrevis av filer med feil filnavn, og du vil erstatte hvert filnavn som inneholder test med prod. (dette er et godt eksempel). Vi kan enkelt gjøre dette med "for" kommandoen i bash, kombinert med litt bash godhet. I dag lærer vi hvordan du erstatter tekst i en variabel i en forløkke.
Kommandoen "for" fungerer slik:
for var in ;do $var;done
Du kan erstatte
Dette er hvor bash-variabel håndtering gjør det enda mer interessant. I stedet for å bare gjøre noe som "mv $ var", kan vi erstatte tekst i filnavnet ved hjelp av dette syntaksen:
${var/originaltext/replacetext}
Så nå, hvis vi kjører denne kommandoen på katalogen vår:
for f in *;do mv $f ${f/test/prod};done
For hver fil som samsvarer med *, vil bash utføre en kommando som ligner på dette:
mv test.config prod.config
Jeg har funnet ut at kunnskap om skallet er uvurderlig når du administrerer servere eller bare for å administrere filsamlingen din, og har spart meg timer med hva som ellers ville vært manuelt.
Og ja, jeg skjønner at det finnes en rekke verktøy som kan oppnå omdøping av flere filer.