J'ai 1 000 fichiers dans un répertoire. Je suis sur une machine solarisRechercher et remplacer une chaîne dans un ensemble de fichiers XML à l'aide des commandes du shell
Je veux remplacer la chaîne «/exemple/test/temp » t0 "/ test/en/progrès/dans tous les fichiers xml dans mon répertoire.
des pointeurs être grand.
grâce,
novice
grâce à la solution. Mais le contrôle semble aller dans une sorte de boucle infinie, créant des fichiers comme filename.old filename.old.old, filename.old.old.old etc .. Comment puis-je le modifier de telle sorte que pas de sauvegarde (.old) les fichiers sont-ils générés? beaucoup de thx. – novice
Pourquoi n'utilisez-vous pas simplement '-maxdepth'? 'trouver. -maxdepth 1 -type f -name "* .xml" -print' - Aussi, vous devriez utiliser '-print0' avec' find' et '-0' avec xargs. –
Dennis - toutes les trouvailles ne sont pas égales. Certains n'ont pas maxdepth :-( novice - pour se débarrasser des fichiers .old, changez perl -i.old en perl -i (ce qui veut dire que si vous avez un problème avec votre regexp, vous n'avez pas de sauvegarde revenir à) – toolkit