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 p> Je veux supprimer après p> ('_ dd-aa' ) code> p>
3 Réponses :
Une manière: répertoriez uniquement les fichiers avec le motif ( * dd-aa * code>). Utilisation de SED code>, préparez la commande MV en prenant la 1ère partie avant le motif ( _dd-aa code>) et la 2e partie après le motif. Et transmettez-le à une coquille. P> p>
Downvoted parce que Vous ne devez pas analyser la sortie de LS .
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))
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
_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> Quand envelopper des citations autour d'une variable de coquille?
@tripleee merci de cette référence.
Dupliqué possible de Renommer des fichiers dans un dossier aux numéros séquentiels , Renommer un ensemble de fichiers à 001, 002, ... sur Linux , extraire la sous-chaîne à bash A>, Comment supprimer les N derniers caractères d'une chaîne à bash? , etc.