Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [PERL/BASH] Estrazione di righe con doppia condizione

    Salve, ennesima domanda... Ho un file del tipo:

    1 2 A 1 3 5 6 7 8 9 89 1 2 3 20 35 51 89
    8 1 D 2 4 5 6 8 10 58 50 6 8 4 0 5 6 50
    9 5 A 2 5 4 6 8 1 2 5 16 5 6 5 10 50 5
    .
    .
    1 6 F 1 5 6 8 4 6 5 19 6 2 10 2 65 10 5
    E all' interno di uno script in perl inserisco :

    codice:
    $a_count=eval `cat ${doc_dir}/${data} | grep A -c`;
    In modo da inserire in $a_count il numero di righe contenenti la lettera A...
    Ora però dovrei modificare questo script perché devo contare le righe che contengono la A e hanno un valore del 11° carattere maggiore di una soglia.

    Stavo pensando di modificare la riga di codice in modo che ci sia un && logico col comando grep... Ma nel man non ho trovato la condizione che mi permetta di valutare il valore dell' ennesimo carattere...

    Qualche aiuto?

  2. #2
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570
    Potresti pensare ad AWK.
    codice:
    [cacao74@tweety tmp]$ more cacao.txt 
    1 2 A 1 3 5 6 7 8 9 89 1 2 3 20 35 51 89
    8 1 D 2 4 5 6 8 10 58 50 6 8 4 0 5 6 50
    9 5 A 2 5 4 6 8 1 2 5 16 5 6 5 10 50 5
    [cacao74@tweety tmp]$ more cacao.txt | awk ' /A/ { if ($11 >= 50) print $0 } ' | wc -l
    1
    [cacao74@tweety tmp]$ more cacao.txt | awk ' /A/ { if ($11 >= 5) print $0 } ' | wc -l
    2
    ciao
    slack? smack!

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.