Sed: supprimer des lignes

Résolu
tlep Messages postés 597 Statut Membre -  
jipicy Messages postés 41342 Statut Modérateur -
Bonjour,

Un p'tit souci avec sed:

je ne parviens pas à mettre un numéro de ligne à supprimer en variable !

Exemple: fichier contenant
A
B
C
D

sed '3d' fichier
A
B
D

Par contre:
L=3 && sed '$Ld' fichier
sed: -e expression n°1, caractère 3: caractères inutiles après la commande

Je comprends po :-((

6 réponses

Jean-François Pillou Messages postés 19541 Statut Webmaster 63 278
 
avec $Ld, il recherche la variable $Ld.
Donc :

L=3 && sed $L'd' fichier
0
tlep Messages postés 597 Statut Membre 118
 
cool merci ;-)
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

Ou plus tordu :
L=3; echo -e "A\nB\nC\nD" | sed ''$L'd'
A
B
D
;-))
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Mais aussi entre doubles "quotes" (hummmm, une double entrecôte) :
$ L=3; echo -e "A\nB\nC\nD" | sed "${L}d"
ça le fait bien, mais faut pas oublier les accolades sinon ça le fait bien moins ;-))
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Pour en finir avec les quotes :
 L=3;echo -e "A\nB\nC\nD" | sed "$L d"
;-))
0
Jean-François Pillou Messages postés 19541 Statut Webmaster 63 278
 
c'est malin, maintenant tlep ne va plus savoir quoi choisir :-)
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Pfffffffffffff celle du chef ça va de soi, la preuve : ;-((

;-DD
0