Laten we zeggen dat je een map met honderden bestanden met de verkeerde bestandsnamen, en je wilt elke bestandsnaam met vervanging test with prod. (Dit is een geforceerd voorbeeld). We kunnen gemakkelijk doen met het "voor" commando in bash, gecombineerd met een beetje bash goedheid. Vandaag gaan we leren hoe de tekst te vervangen in een variabele in een for-lus.
De "voor" commando werkt als volgt:
voor de var in
;do $var;done
U kunt vervangen
Dit is waar de bash variabele bediening maakt het nog interessanter. In plaats van alleen om iets te doen als "mv $ var", kunnen we vervangen door de tekst in de bestandsnaam met de volgende syntaxis:
$ {Var / originaltext / replaceText}
Dus nu, als we voer je dit commando op onze directory:
for f in *; doen mv $ f $ {f / test / producten}; gedaan
Voor elk bestand gepaard met *, zal bash uitvoeren een opdracht zoals deze:
mv test.config prod.config
Ik heb ontdekt dat kennis van de shell is van onschatbare waarde bij het toedienen van servers of gewoon voor het beheer van uw dossier collectie, en heeft mij gered uur wat er zou anders zijn geweest manueel werk.
En ja, ik besef dat er een een aantal tools die hernoemen van meerdere bestanden kunnen bereiken.
Keine Kommentare:
Kommentar veröffentlichen