J'ai expérimenté avec sed au cours de la dernière heure et je n'arrive pas à le faire fonctionner. J'ai besoin de préfixer une ligne au début de tous les fichiers python dans un dossier, exemple de dossier "A".Utilisation de sed pour ajouter des chaînes à plusieurs fichiers
D'abord, je trouve tous les fichiers python en utilisant find:
find /A -maxdepth 1 -name "*.py"
Cela montre une liste de fichiers de python. (Ça marche!)
Puis quand je effectuez les opérations suivantes comme suggéré par certains blogs et des tutoriels en ligne:
find /A -maxdepth 1 -name "*.py" -exec sed -i '1i # -*- coding: utf-8 -*-'
Je reçois l'erreur suivante:
sed: 1: "/A/buttons.py": extra characters at the end of h command
ce qui est commande h? Comment cela peut-il être fait correctement?
Soit dit en passant, je suis sous Mac OS X.
Quelle est la ligne exacte que vous essayez d'ajouter? Cela a fonctionné pour moi: 'trouver A -maxdepth 1 -name" * .py "-exec sed -i '1i Texte à préfixer' {} \;' – aragaer
Je veux ajouter: '# - * - codage: utf-8 - * - ' – Mark
Fonctionne comme prévu. – aragaer