Sed: supprimer des lignes [Résolu/Fermé]

Signaler
Messages postés
596
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
25 octobre 2012
-
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
-
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

Messages postés
18567
Date d'inscription
lundi 15 février 1999
Statut
Webmaster
Dernière intervention
12 octobre 2020
62 621
avec $Ld, il recherche la variable $Ld.
Donc :

L=3 && sed $L'd' fichier
Messages postés
596
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
25 octobre 2012
116
cool merci ;-)
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 775
Salut,

Ou plus tordu :
L=3; echo -e "A\nB\nC\nD" | sed ''$L'd'
A
B
D
;-))
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 775
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 ;-))
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 775
Pour en finir avec les quotes :
 L=3;echo -e "A\nB\nC\nD" | sed "$L d"
;-))
Messages postés
18567
Date d'inscription
lundi 15 février 1999
Statut
Webmaster
Dernière intervention
12 octobre 2020
62 621
c'est malin, maintenant tlep ne va plus savoir quoi choisir :-)
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 775
Pfffffffffffff celle du chef ça va de soi, la preuve : ;-((

;-DD