Jak již uvedli ostatní, rename
je v tom dobrý, ale přečtěte si manuálovou stránku (man rename
), než to zkusíte. Existují nejméně dva zcela odlišné nástroje nazvané rename
a který z nich budete mít, bude záviset na vaší distribuci. Nesprávné volání může být nebezpečné.
Zde je manuálová stránka pro verzi založenou na perlu od Larryho Walla, která je dodávána s Ubuntu. Dáte mu perlský výraz jako rename 's/\.sql$/.php/' *.sql
Zde je manuálová stránka pro přejmenování, která se dodává se staršími distribucemi Red Hat a CentOS. Použití je jednoduchá substituce řetězce jako rename .sql .php *.sql
Můžete také použít bash one-liner ke zpracování každého souboru jeden po druhém:
$ for f in *.sql; do mv -i "$f" "${f%%.*}.php"; done
Je tam rename(1)
, který nepoužívá regulární výrazy, ale může vyřešit váš problém:
rename .sql .php *.sql
Je zde také mmv(1)
, ale nevím, jak to funguje.
Dobrý den,
Můžete také zkusit zadat
for i in $(\ls -d *.sql)
do
mv $i $(echo $i | sed -e 's/\.sql$/\.php/')
done
Nebo aby používal regulární výraz, změňte jej mírně na
for i in $(\ls -d | egrep -e '.*\.sql')
do
mv $i $(echo $i | sed -e 's/\.sql$/\.php/')
done
pro trochu zábavy s kódováním shellu. (-: