J'utilise sed pour remplacer le texte dans les fichiers. Je veux donner à sed un fichier qui contient toutes les chaînes à rechercher et à remplacer dans un fichier donné.Commande sed simple pour plusieurs substitutions?
Il passe en revue les fichiers .h et .cpp. Dans chaque fichier, il recherche les noms de fichiers qui y sont inclus. S'il est trouvé, il remplace par exemple "a.h" par "<a.h>" (sans les guillemets).
Le script est la suivante:
For /F %%y in (all.txt) do
for /F %%x in (allFilesWithH.txt) do
sed -i s/\"%%x\"/"\<"%%x"\>"/ %%y
- ALL.TXT - Liste des fichiers à faire la substitution dans les
- allFilesWithH.txt - Tous les noms comprennent à rechercher
Je ne veux pas lancer sed plusieurs fois (comme le nombre de noms de fichiers dans input.txt.) Mais je veux lancer une seule commande sed et lui transmettre input.txt en entrée.
Comment puis-je le faire? P.S Je cours sed du shell de développement de VxWorks, ainsi il n'a pas toutes les commandes que la version de Linux fait.
Le script est-il répertorié comme un script Windows BAT? Ou quelque chose dans le shell VxWorks Development? –
oui c'est un fichier batch (BAT) – Asaf