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.
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 {} \;