Visualizzazione dei risultati da 1 a 5 su 5

Discussione: regex

  1. #1

    regex

    ho una regex cosi composta per estrarre le righe che contengono un orario:

    sed -n /'(11)|(12).[0-9][0-9]'/p tv

    in cui non riesco a farla funzionare con i gruppi
    es ore 11 oppure 12

    mentre con un orario alla volta funziona

    sed -n /'11.[0-9][0-9]'/p tv

    in pratica chiedo aiuto per impostare la sintassi dei gruppi

    ho provato anche doppie parentesi ma niente

    sed -n /'((11)|(12)).[0-9][0-9]'/p tv

    oppure senza

    sed -n /'11|12.[0-9][0-9]'/p tv


    grazie

  2. #2
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570
    codice:
    [cacao74@tweety ~]$ echo -e "10.30\n11.15\n12.10\n13.00" | sed -n '/1[12]\.[0-9]\{2\}/p'
    11.15
    12.10
    :-)

    ciao
    slack? smack!

  3. #3
    ti ringrazio,
    pero' mi sono spiegato male..
    in pratica le prime 2 ore sono 2 variabili
    e cosi non posso (o non credo di riuscire) usare il set di caratteri
    a meno che tu ne conosca un altro modo

    grazie
    ciao



    ora=$(date +%H)
    orav=$((ora+6))
    orap=$((ora+5))

    sed -n /''$orap|$orav'.[0-9][0-9]'/p tv

  4. #4
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570
    codice:
    [cacao74@tweety ~]$ echo $ora $orav $orap
    14 20 19
    [cacao74@tweety ~]$ cat tv
    10.15
    14.30
    14.45
    15.00
    16.20
    17.15
    18.20
    19.20
    20.10
    21.00
    22.00
    [cacao74@tweety ~]$ sed -n "/$orap\|$orav\.[0-9]\{2\}/p" tv
    19.20
    20.10
    slack? smack!

  5. #5
    grazie , adesso funziona
    casomai vuoi vedere il resto dello script l'ho messo

    qui

    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.