Si le problème est que ton script marche pour toutes les avant-dernières lignes, sed seul ne pourra pas le faire: c'est un éditeur de ligne, pas de fichier, il est incapable de dire si une ligne est l'avant-dernière ou la première, contrairement à awk.
S'il n'avait pas dit je souhaite modifier le contenu de la 5e colonne correspondant à la clef 'avantdernier' (la clef étant la 2e colonne) mais, je souhaite modifier le contenu de la 5e colonne de l'avant dernière ligne, alors le code correspondant aurait été :
[kangs<<azopt23a>>:0s:tmp]$ cat data.txt
A test * * ici
AA test2 * * la
A uneautreclef * * la
B avantdernier * * ici
C dernier * * la
[kangs<<azopt23a>>:0s:tmp]$ sed 'x; ${s/\(.*\t.*\t.*\t.*\t\).*/1円salut/;p;x}; 1d' data.txt
A test * * ici
AA test2 * * la
A uneautreclef * * la
B avantdernier * * salut
C dernier * * la
[^] # Re: awk
Posté par Kangs . En réponse au message remplacement dans fichier. Évalué à 1.
S'il n'avait pas dit je souhaite modifier le contenu de la 5e colonne correspondant à la clef 'avantdernier' (la clef étant la 2e colonne) mais, je souhaite modifier le contenu de la 5e colonne de l'avant dernière ligne, alors le code correspondant aurait été :