J'ai une collection de fichiers correspondant à un modèle tel que 'affectation02.cc', 'affectation02.h', 'affectation02.txt', etc. Je voudrais copier / renommer ces fichiers dans 'affectation03.cc', 'affectation03. h ',' assignation03.txt ', etc.
Je soupçonne que cela devrait être simple en utilisant un script shell et sed. Jusqu'à présent, j'ai:
OLD_NO=$1
NEW_NO=$2
echo "Moving from $OLD_NO to $NEW_NO"
for name in assignment$OLD_NO.* ; do
newname=$(echo $name | sed 's/\(.*\)$OLD_NO\(.*\)/\1xx$NEW_NO\2/')
echo "$name -> $newname"
# mv -v $name $newname
done
Malheureusement, la façon dont j'invoque sed renvoie toujours la chaîne d'entrée $name
et ne fait pas réellement la recherche / remplacement d'expression régulière.
Remarque: En regardant sur Internet, il y a une rename
commande qui a cette fonctionnalité, mais qui n'est pas disponible sur mon MacBook.
newname=$(echo $name | tr $OLD_NO $NEW_NO)
$OLD_NO
et$NEW_NO
ne sera pas développé.