-1
votes

Renommer plusieurs fichiers, mais seulement supprimer une partie du nom de fichier

J'ai essayé la commande ('mv' ',' sed ') est sous Linux. J'ai plus d'un fichier que je veux supprimer le dernier caractère du fichier comme celui-ci

​​avant xxx

Je veux supprimer ('_ dd-aa' )

après xxx


3 Réponses :


-1
votes

Une manière: xxx

répertoriez uniquement les fichiers avec le motif ( * dd-aa * ). Utilisation de SED , préparez la commande MV en prenant la 1ère partie avant le motif ( _dd-aa ) et la 2e partie après le motif. Et transmettez-le à une coquille.


1 commentaires

0
votes

Ces jours-ci, j'utilise pathlib pour ce type de problème .

from pathlib import Path

for path in Path(".").glob("*.txt"):
    path.rename(path.with_name(path.stem.partition("_dd-aa")[0] + path.suffix))


0 commentaires

0
votes

Propriété de réponse au cas où il y a des problèmes fondamentaux avec cela, mais:

find . -name \*_dd-aa\* | while read filename
do
    mv "$filename" "$(echo $filename | sed 's/_dd-aa//g')"
done
  • Trouver tous les fichiers contenant _dd-aa code> li>
  • Obtenez le nouveau nom de fichier en supprimant le _dd-aa code> partie li>
  • Utilisez mv code> pour renommer le fichier li> ol> p>

  • 2 commentaires