Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    86

    [bash]Assegnare variabile ed editare stringhe

    Ciao a tutti!
    Ho un file di questo genere:
    >testo1;
    ABCDE ABBCD EEAAA ABCDE ABBCD EEAAA ABCDE ABBCD EEAAA ABCDE ABBCD EEAAA ABCDE ABBCD EEAAA ABCDE ABBCD EEAAA ABCDE ABBCD EEAAA ABCDE ABBCD EEAAA ABCDE ABBCD EEAAA ABCDE ABBCD EEAAA ABCDE ABBCD EEAAA ABCDE ABBCD EEAAA ABCDE ABBCD EEAAA ABCDE ABBCD EEAAA ABCDE ABBCD EEAAA
    >testo2 :---xYZ ;
    AAAAC CCBAE AAAAC CCBAE AAAAC CCBAE AAAAC CCBAE AAAAC CCBAE AAAAC CCBAE AAAAC CCBAE AAAAC CCBAE AAAAC CCBAE AAAAC CCBAE AAAAC CCBAE AAAAC CCBAE AAAAC CCBAE AAAAC CCBAE AAAAC CCBAE AAAAC CCBAE AAAAC CCBAE AAAAC CCBAE AAAAC CCBAE AAAAC CCBAE AAAAC CCBAE AAAAC CCBAE AAAAC
    ....eccetera, così ripetuti...
    Attraverso dei comandi bash (cat, grep eccetera), devo:
    1-aprire il file e leggerlo
    2-eliminare da ciò che ricavo le righe che iniziano con > e finiscono con ;
    3-creare una percentuale di quante A ci sono ( ad esempio 20%), quante B, quante C, quante E (e così via per tutte le lettere che voglio inserire) e stamparle a schermo.

    Riesco a crearlo in php, c, e altri ma in bash proprio sono una capra @.@
    Per contare utilizzo una serie di grep e sed, ma poi come assegno questo valore (ad esempio trovate 45 A e 20 B) ad una variabile?

    Come posso fare?
    Grazie ^_^

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    86
    Con php faccio una semplice sostituzione tramite espressioni regolari della stringa che inizia > e finisce con ; , poi conto semplidcemente le lettere

  4. #4
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570
    visto che riesci a contare con sed e grep...

    un banale
    codice:
    a=$(codice1)
    b=$(codice2)
    assegna ad "a" e "b" i valori numerici dei tuo calcoli

    man bash

    ciao
    slack? smack!

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    86
    Ok
    Perfetto

    Ora però mi rimane un problema:
    Codice PHP:
    tot=$(cat prova.txt sed -"/^[A-Za-z0-9]/p"#apre prova.txt (contenente tutto)e ne seleziona le righe che iniziano con LETTERE, lettere, numeri 0-9
        
    echo $tot>totale.txt #salva nel file totale.txt tutto
    #Fin qui tutto Ok, funziona alla grande!
    #ma ora, dovrebbe contare tutte le occorrenze della lettera A nel file salvato:
    = $(cat totale.txt grep --'A' sed 's/A/A\
    /g' 
    grep --'A' wc -l)
        echo 
    $a
    #qua mi da errore alla linea in cui uso cat 
    Come posso risolvere?

  6. #6
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570
    non mettere spazi tra nome variabile, il carattere uguale "=" ed il valore da assegnare
    codice:
    a = 10  ERRATO
    a=10 ESATTO
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.