Amis du Sed ou eventuellement du Awk ....

Résolu
bill_bones Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour ,

Je cherche une commande linux qui supprime un caractère spéciale et tout ce qui vient aprés jusqu'à la fin de la ligne pour chanque ligne.

Dans l'exemple ci dessous le caractére spéciale est un "espace", au premier "espace" je supprime tout ce qui vient après jusqu'en fin de ligne.

fichier1.txt fichier2.txt
aaaaaaa bbbbbbbbb aaaaaaa
ccccccccc ddddddd ccccccccc
eeeeeee fffffffffffffff eeeeeee
ggggggggg qqqqqqqqqqq ggggggggg

Je vous remercie d'avance.

3 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    $ sed 's/ .*//' fich 
    aaaaaaa
    ccccccccc
    eeeeeee
    ggggggggg

    $ awk '{ print $1 }' fich
    aaaaaaa
    ccccccccc
    eeeeeee
    ggggggggg

    $ cut -d ' ' -f 1 fich
    aaaaaaa
    ccccccccc
    eeeeeee
    ggggggggg

    0
  2. bill_bones Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
     
    Parfait !!!!

    Merci à toi.
    0
  3. bill_bones Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
     
    Rebonjour,

    Si je voulais faire l'inverse ... c'est à dire virer tout ce qui vient avant le pattern

    Merci.
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      $ sed 's/[^ ]* //' fich 
      bbbbbbbbb aaaaaaa
      ddddddd ccccccccc
      fffffffffffffff eeeeeee
      qqqqqqqqqqq ggggggggg

      $ cut -d ' ' -f 2- fich
      bbbbbbbbb aaaaaaa
      ddddddd ccccccccc
      fffffffffffffff eeeeeee
      qqqqqqqqqqq ggggggggg
      0