Remplacer la valeur d'un champs par des espaces

Résolu
JsuisNul Messages postés 137 Statut Membre -  
JsuisNul Messages postés 137 Statut Membre -
Bonjour,

Je souhaiterai modifier comme suit :

Fichier au départ (détail d'une ligne et les points représentent des espaces):
aaaa;bbb....;cccc.....;dd;eeeee;ffffff.....;gggg
et je souhaiterai modifier le champs 2, 4 et 6 par des espaces tout en gardant la longueur du champs.
ce qui donnerait :
aaaa;.......;cccc....;..;eeeee;...........;gggg

Merci d'avance.

1 réponse

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    $ cat fichier 
    aaaa;bbb....;cccc.....;dd;eeeee;ffffff.....;gggg
    $ awk 'BEGIN {FS=OFS=";"; s="[^ ]"; b=" "} {gsub(s, b, $2); gsub(s, b, $4); gsub(s, b, $6); print}' fichier
    aaaa; ;cccc.....; ;eeeee; ;gggg
    0
    1. JsuisNul Messages postés 137 Statut Membre 1
       
      Merci Dubcek !!
      ça marche impec !! ;-)

      Merci encore.
      0