Extraire un texte entre deux chaines de caractères.

Résolu
bob737 Messages postés 157 Statut Membre -  
steph810 Messages postés 1865 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

J'ai un fichier TOTO dont chaque ligne commence par une date dont le format est

AAAA-MM-JJ;HH

Je voudrais extraire toutes les lignes entre deux dates. 

J'ai essayé avec sed par:

cat TOTO | sed -n "/${DATE1}/,/${DATE2}/p"

avec :

DATE1="2024-03-11;11"

et

DATE2="2024-03-14;08"

Une idée ? Merci ;-)


Windows / Chrome 121.0.0.0

3 réponses

  1. steph810 Messages postés 1865 Date d'inscription   Statut Membre Dernière intervention   152
     

    Bonjour,

    pas trop compris vous voulez:

    Supprimez toutes les lignes qui contiennes le mot date ?

    cat TOTO | sed '/DATE/d'

    ou juste entres la DATE1="2024-03-11;11" et DATE2="2024-03-14;08"

    cat TOTO | sed -n '/DATE1="2024-03-11;11"/, /DATE2="2024-03-14;08"/ {/DATE1="2024-03-11;11"/! {/DATE2="2024-03-14;08"/!p}  }' >> totoexport

    0
  2. bob737 Messages postés 157 Statut Membre
     

    Merci,

    Non, toutes les lignes entres ces deux dates, dates incluses. 

    :-)

    0
    1. steph810 Messages postés 1865 Date d'inscription   Statut Membre Dernière intervention   152
       

      Pour inclure les dates :

      cat TOTO | sed -n '/DATE1="2024-03-11;11"/, /DATE2="2024-03-14;08"/p'
      1
  3. bob737 Messages postés 157 Statut Membre
     

    Merci ! en fait, ça marchait depuis le début, c'est juste que ma DATE2 n'existait pas dans mon fichier.

    Désolé. 

    0
    1. steph810 Messages postés 1865 Date d'inscription   Statut Membre Dernière intervention   152
       

      Content pour vous.

      Si c'est ok pensez a marquer-votre-sujet-comme-resolu

      0