#1 Le 21/12/2015, à 17:18
- Le Goss
[Résolu] bash awk printf sed: modifier un seul champ dans un fichier
Bonjour à tous,
Dans monfichier au contenu suivant:
bla blu:blu bli:bli bla:blo blu
bli blu:blo bla:blu bli:bla bla
je cherche a remplacer bli en blu à l'aide de awk printf et sed mais uniquement dans le 3e champ.
Je sèche complètement.
J'ai bien essayé un
cat monfichier | awk -F ":" '{printf "%s\n", $3 }' | sed 's/bli/blu/g'
Les subsitutions sont faites, mais tous les autres champs ont disparu.
Je suis bloqué.
Merci pour aide,
Cordialement
Dernière modification par Le Goss (Le 21/12/2015, à 21:44)
Si je pose une question sur le forum, ce n'est pas par paresse ou pour faire faire "mes devoirs"; c'est par ignorance: j'ai 52 berges. Et, par principe, je préfère être traité d'ignare que de fainéant.
Samsung i7-3630QM CPU @ 2.40GHz × 8 - 64 bits - RAM 7,7 Gio - DD 976 Go - Bodhi 6.0.0 Ubuntu 20.04
Allergique au wysiwyg; traitement à vie: Lilypond - LaTeX - markdown
Hors ligne
#2 Le 21/12/2015, à 18:56
- pingouinux
Re : [Résolu] bash awk printf sed: modifier un seul champ dans un fichier
Bonsoir,
awk -F ":" -v OFS=: '{gsub("bli","blu",$3);print}' monfichier
Hors ligne
#3 Le 21/12/2015, à 21:44
- Le Goss
Re : [Résolu] bash awk printf sed: modifier un seul champ dans un fichier
Merci beaucoup,
J'étais loin du compte...
Si je pose une question sur le forum, ce n'est pas par paresse ou pour faire faire "mes devoirs"; c'est par ignorance: j'ai 52 berges. Et, par principe, je préfère être traité d'ignare que de fainéant.
Samsung i7-3630QM CPU @ 2.40GHz × 8 - 64 bits - RAM 7,7 Gio - DD 976 Go - Bodhi 6.0.0 Ubuntu 20.04
Allergique au wysiwyg; traitement à vie: Lilypond - LaTeX - markdown
Hors ligne