Bonjour,
J'ai écrit de script de migration pour une base de données orcale.
J'ai une dizaine de script ou je voudrais remplacer uen requête par une autre par exemple :
Remplacer
SELECT REF_ID
FROM REF, ACH
WHERE REF_ID=ACH_ID
AND ACH_FLU_FK='START'
par
SELECT REF_ID
FROM REF, ACH
WHERE REF_ID=ACH_ID
AND REF_ID='TOTO'
AND ACH_FLU_F_FK='TITI'
Comment puis-je faire cela ?
Merci de votre aide.
# \_o<
Posté par doublehp (site web personnel) . Évalué à 2.
a tester ...
tu peux faire des trucs plus restrictifs, comme dans le genre
cat file1 | sed 's/AND ACH_FLU_F_FK=\'START\'/AND ACH_FLU_F_FK=\'TITI\'/g' >file2
mais comme tu vois, des qu il faut echapper, ca devietn tout de suite moins lisible :)
et meme la je suis moins sur de mon coup :S
mais sur le princpe, c est:
sed 's/viremoi/metmoi/g'
puis, si faut remplacer les viremoi seulemetn si ils sont precedes ou suivis d autre chose, c est possible, mais apres faut echapper des trucs, et ca devient illisible pour mon exemple.
cherhce dans google:
tutorial sed
tutorial regexp
ou
man sed
[^] # Re: \_o<
Posté par totof2000 . Évalué à 2.
sous aix:
sed Command
Purpose
Provides a stream editor.
Syntax
sed [ -n ] Script [ File ... ]
sed 's/START/TITI/g' file1 |>file2
Pourquoi cette manie d'ajouter des cat partout ?
Imagine le truc dans une boucle, a chaque iteration tu as droit a un fork+exec, et ca fait perde du temps.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.