Štetje ponovitev števila v txt datoteki

Torej imam neko datoteko, npr. dat.txt in v njej števila v vrstici, npr. 2 10 8 11 2 6 2 3 2. Kako naj preštejem kolikokrat se določeno število ponovi? Se že nekaj časa matram, pa mi ne gre. Hvala, LP

Komentarji

  • java?

    vhod = new File(dat.txt);
    sc = new Scanner(vhod);
    while(sc.hasNext()) {
    if(nextInt == dolocenoStevilo) stevec++;
    }

    taka bi bila ideja...
  • Ups, sem pozabil povedati, da gre za ukazni program (ponovitev.sh), ki ima dva argumenta; ime zbirke in stevilko, ki jo iščemo.
  • Tukaj ti pa ne znam pomagat... :rolleyes:
  • 1GOR Član
    uredil/-a 25. April, 2010
    #!/bin/bash
    #./test.sh datoteka stevilo
    #če je prvi argument(datoteka) prazen oz. ga ni
    if [ -z $1 ]
    then
    exit;
    fi
    #če je drugi argument(stevilo) prazen oz. ga ni
    if [ -z $2 ]
    then
    exit;
    fi

    #spremenljivka ki določa delimiter med posameznimi številkami
    IFSTEMP=$IFS;
    IFS=$' ';
    #števec števil
    STEVEC=0;
    #zanka
    for i in $(cat $1)
    do #če je število enako iskanemu številu
    if [ $i -eq $2 ]
    then
    #povečamo števec
    let STEVEC+=1;
    fi
    done
    echo $STEVEC;
    #delimiter nastavimo nazaj na default vrednost
    IFS=$IFSTEMP;



    tale rešitev je bolj c-jevska ampak deluje.

    Če pa imaš števila zapisana v posamezni vrstici:
    npr. :
    2
    10
    8
    11
    2
    6
    2
    3
    2

    je pa tale rešitev veliko lepša.

    #!/bin/bash
    #./test.sh datoteka stevilo
    #če je prvi argument(datoteka) prazen oz. ga ni
    if [ -z $1 ]
    then
    exit;
    fi
    #če je drugi argument(stevilo) prazen oz. ga ni
    if [ -z $2 ]
    then
    exit;
    fi

    cat $1 | grep $2 | wc -l


    Upam da sem ti pomagal, če kaj ni jasno vprašaj!
    Za lepoto rešitve ne odgovarjam!
Za komentiranje se prijavite ali pa se vpišite.