RDV+DIAL chat illimit� dans ta r�g!
no save
Assistance
Achat
News

Forum | Linux/Unix
SHELL-remplacer un ligne dans un fichier-AWK
kenchyne, le ven. 06 avr. 2007 à 17:06:02
Bonjour,

J'essaye de remplacer une chaine de caracteres qui est stockée dans une variable et ensuite d'effectuer une recherche puis un remplacement dans un fichier.

voici un petit bout du script:

mot_a_rechercher="toto"
fic=/usr/users/toto/fichier

#Ouverture du fichier et invocation de la variable shell puis remplacement de ce mot par * $mot commentaire

cat $fic | awk -v myvar="$mot_a_remplacer '{sub('/'myvar'/\* 'myvar' commentaire)} {print}'

#A la fin je souhaite trouver comme resultat un cat du fichier avec le remplacement de la chaine de caracteres modifiée avec la meme position de ligne

Les questions sont les suivantes:
-Comment invoquer ma variable dans un programme awk?
-Comment utiliser le sub de awk en y inserant cette variable?

Remarques:
J'utilise un awk car ce bout de script est utilisé dans une boucle FOR, si j'utilise un SED, je me retrouve avec plusieurs contenu de fichier. Le sed -i -e "s/$mot_a_remplacer/\* $mot_a_remplacer/g" $fic n'est pas faisable sous mon OS....bizarre...

Merci d'avance! Configuration: Windows XP
Internet Explorer 6.0
AIX
SUN SOLARIS


jipicy
avr. 07
Suivant
REPONSES
jipicy
avr. 07
jipicy
avr. 07
kenchyne
avr. 07
gigabi
nov. 07
gigabi
nov. 07
jipicy
nov. 07
gigabi
nov. 07
gigabi
nov. 07
jipicy
nov. 07
gigabi
déc. 07
Version Web
Réalisé par RedShift
no save