Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/12/2015, à 18: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, à 22: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 51 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 - txt2tags

Hors ligne

#2 Le 21/12/2015, à 19: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, à 22: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 51 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 - txt2tags

Hors ligne