web-dev-qa-db-fra.com

Renommez des centaines de répertoires

J'ai plus de cent répertoires nommés SP_[number]_date. Je voudrais tout renommer en SP_[number].

Je ne peux comprendre comment le faire qu'en mv SP_1_date SP_1 mais cela prendra des âges. Puis-je renommer tout d'un coup? J'ai pensé que je pouvais faire quelque chose comme for num in ./*; do mv SP_$num_date SP_$num; done mais ça ne fait pas l'affaire.

2
Ditte

Un moyen bash assez simple:

for i in *_date
do
    mv "$i" "${i%%_date}"
done

${i%%_date} supprime une fin _date à partir de la chaîne dans i.

6
muru