Shell Geek Přejmenovat více souborů najednou
Řekněme, že máte adresář se stovkami souborů se špatnými názvy souborů a vy chcete nahradit každý název souboru obsahující test s prod. (to je příklad). Můžeme to jednoduše provést příkazem "pro" v bash, v kombinaci s trochou bash dobroty. Dnes se naučíme, jak nahradit text v proměnné v smyčce pro.
Příkaz "pro" funguje takto:
pro var v; do $ var; hotovo
Můžete je nahradit s libovolným vzorem shody souborů, například * nebo * .txt a můžete je nahradit s libovolným příkazem linux. Příkaz bude spuštěn postupně v každém souboru, který odpovídá vzoru shody souborů.
To je místo, kde je variabilní manipulace bash ještě zajímavější. Namísto jen něco jako "mv $ var" můžeme nahradit text v názvu souboru pomocí této syntaxe:
$ var / originaltext / replacetext
Takže teď, když spustíme tento příkaz v našem adresáři:
pro f in *; do mv $ f $ f / test / prod;
Pro každý soubor shodný s *, bash provede příkaz podobný tomuto:
mv test.config prod.config
Zjistil jsem, že znalost shellu je neocenitelná při správě serverů nebo jen pro správu sbírky souborů a zachránila mi hodiny, co by jinak bylo ruční práce.
A ano, uvědomuji si, že existuje řada nástrojů, které dokážou přejmenovat více souborů.