Sed: supprimer des lignes

Résolu
tlep Messages postés 597 Statut Membre -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
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 :-((
Configuration: Windows XP
Firefox 2.0.0.7

6 réponses

  1. Jean-François Pillou Messages postés 18961 Date d'inscription   Statut Webmaster Dernière intervention   63 308
     
    avec $Ld, il recherche la variable $Ld.
    Donc :

    L=3 && sed $L'd' fichier
    0
  2. tlep Messages postés 597 Statut Membre 118
     
    cool merci ;-)
    0
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Ou plus tordu :
    L=3; echo -e "A\nB\nC\nD" | sed ''$L'd'
    A
    B
    D
    
    ;-))
    0
  4. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Pour en finir avec les quotes :
     L=3;echo -e "A\nB\nC\nD" | sed "$L d"
    ;-))
    0
  7. Jean-François Pillou Messages postés 18961 Date d'inscription   Statut Webmaster Dernière intervention   63 308
     
    c'est malin, maintenant tlep ne va plus savoir quoi choisir :-)
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Pfffffffffffff celle du chef ça va de soi, la preuve : ;-((

      ;-DD
      0