Cut multiple delimiteur

salut les unixiens, je suis face a un probleme et je sollicite votre precieuse aide

supposons que j ai un fichier
xx-jj-pp
aa-jj-gg
a_bb-ff

j aimerais bien avoir le deuxieme champ aprés - ou _
j ai utilisé la commande cut -d"-" -f2-$$ elle retourne
jj-pp
jj-gg
ff
cependant le resultat voulu est
jj-pp
jj-gg
bb-ff

MERCI

2 réponses

  1. Contributeur
    hello
    utiliser sed plutot que cut
    $ cat fichier
    xx-jj-pp
    aa-jj-gg
    a_bb-ff
    $ sed 's/^[^-_]*[-_]//' fichier
    jj-pp
    jj-gg
    bb-ff
    $ 
    
    1. bonjour
      merci pour la reponse ca marche convenablement mais j ai pas compris le fonctionnement du sed ( sed 's permet la substitution ).
      thx
    2. Contributeur
      on substitue par rien (//) du début de la ligne jusqu'aux - ou _
    3. (y)
      thx :)
  2. Salut

    moi, je convertirai d'abord les "_" en "-" puis le cut avec un seule délimiteur :
    cat fichier | sed -e 's/_/-/g' |cut -d"-" -f2-$$