2010-12-08 36 views

Répondre

1

Si vous ne me dérange pas d'utiliser perl

perl -pi -e "s/upc_barrier/start = clock();\nupc_barrier\nend = clock() ;/g" ALL_FILES 
+0

puis-je donner cette commande directement sur la ligne de commande? J'ai l'erreur "Impossible d'ouvrir ALL_FILES: aucun fichier ou répertoire de ce type". –

+1

... 'ALL_FILES' à remplacer par les fichiers que vous voulez remplacer. Si vous voulez juste remplacer tous les fichiers, remplacez-le par '*' – ajreal

3

La version sed:

sed -i 's/\(upc_barrier\)/start = clock\(\);\n\1\nend = clock\(\);/' FILES 

Il est évident que le remplacement des fichiers avec des fichiers que vous souhaitez opérer. L'opérateur -i dit à sed d'écrire le flux modifié dans le fichier.

+0

Merci beaucoup Brent. –

+0

Vous n'avez pas besoin de références arrière. sed a '&' qui, lorsqu'il est utilisé dans le texte de remplacement, sera remplacé par ce que vous avez recherché: 'sed 's/upc_barrier/start = clock(); \ n & \ nend = clock(); /'' – SiegeX