Le but de la commande suivante est de rechercher/remplacer une chaîne de caractère par une autre, ce en une seule fois, et sans avoir à ouvrir des centaines de fichiers. La commande suivante a été utilisée pour remplacer les annotation “@Autowired” dans un projet Java/Spring en annotations “@Inject” (qui sont au standard JPA, donc c’est mieux).

Sachant que cette commande ne s’applique pas seulement à un projet Java/JEE.
Cette technique s’applique récursivement.
[sourcecode language=“java”] find . -name ‘*.java’ -exec sed -i s/org.springframework.beans.factory.annotation.\*\;/javax.inject.\*\;/g {} \; find . -name ‘*.java’ -exec sed -i s/org.springframework.beans.factory.annotation.Autowired\;/javax.inject.Inject\;/g {} \; find . -name ‘*.java’ -exec sed -i s/org.springframework.beans.factory.annotation.Qualifier\;/javax.inject.Named\;/g {} \; find . -name ‘*.java’ -exec sed -i s/@Autowired/@Inject/g {} \; find . -name ‘*.java’ -exec sed -i s/@Qualifier/@Named/g {} \; [/sourcecode]
Les nouveaux commentaires sont désactivés sur cette version statique du blog.