Question

Je suis en train de changer certaines lignes dans plusieurs fichiers (dispersés dans les sous-dossiers) sans avoir à modifier chaque fichier un par un. On m'a donné par Chas. ce qui suit

perl -pi.bak -e 's{[^/]Css/Template.css}{/Css/Template.css}' *

et cela a fonctionné comme un charme, mais se demandait si cette commande ou similaire peut être fait de manière récursive en un seul coup

Était-ce utile?

La solution

find . -type f -exec perl -pi.bak -e 's{[^/]Css/Template.css}{/Css/Template.css}' '{}' '+'

appliquera à tous les fichiers dans le répertoire courant et tous les sous-répertoires. Il ne sera pas suivre les liens symboliques. Vous pouvez restreindre la portée de la découverte d'une directive -nom ainsi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top