Miten linuxissa bashissa saa laskettua montako kertaa sama rivi esiintyy tiedostossa?
Esim jos on vaikka data.txt:
kana
lehmä
kissa
lehmä
kana
kana
Niin lopputulos olisi
3 kana
2 lehmä
1 kissa
Rivien määrä
10
203
Vastaukset
- EtsiItse
man sort
man uniq
man grep
ja pari muuta Rivien lkm vaikka wc -l data.txt. Tietty sana löytyy vaikka grep -l sana *| wc -l. kaikkien sanojen laskeminen vaatii tietysti while read file; do tyyppisen loopin. Jos tuo on kotitehtäväsi en auta enempää.
- Kelpaako-tämä
Tätäkin voit kokeilla:
cat data.txt | awk ' { J[$0] } END { for (i in J) print J[i],i } ' | sort
Linux Mint 18 Sarah
Xfce 64-bit- Kelpaako-tämä
Huomasin vasta nyt että aakkostus oli väärin päin joten nyt sitten oikein päin
cat data.txt | awk ' { J[$0] } END { for (i in J) print J[i],i } ' | sort -r
tarvittiin valitsin -r kääntämään tuo aakkostus, ei muuta.
Linux Mint 18 Sarah
Xfce 64-bit - Kelpaako-tämä
Kelpaako-tämä kirjoitti:
Huomasin vasta nyt että aakkostus oli väärin päin joten nyt sitten oikein päin
cat data.txt | awk ' { J[$0] } END { for (i in J) print J[i],i } ' | sort -r
tarvittiin valitsin -r kääntämään tuo aakkostus, ei muuta.
Linux Mint 18 Sarah
Xfce 64-bitJa hienostellaan vielä vähän, ensin rivi ja sitten määrä näin:
cat data.txt | awk ' { J[$0] } END { for (i in J) print i, ".. \t",J[i] } ' | sort -r
no nyt tää varmaan jo riittää.
- Fiksuinihminen
Helpoin tapa:
# sort data.txt | uniq -c | sort -nr > rivit.txt- Niinpä-tietysti
Tiedätkö miten perkeleen vaikeeta oli minun saada tuommonen seka-sotku tehtyä, ja sinä tulet ja teet parilla merkillä saman, ja puhut vielä Fiksusta,
Ok, tuohan on hyvä, ellei paras, tai vieläkin parempi.
Linux Mint 18 Sarah
Xfce 64-bit
- Anonyymi
Minne tietotekniikka on palstalta kadonnut?
- Anonyymi
Katsoo silimillään ja laskee. Helppoa.
- Anonyymi
Yksi aika simppeli tapa:
sort tiedosto.txt | uniq -c
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Kelekkakisat
Mikä vakava onnettomuus sattunut kisoissa. On peruttu koko kisat. Pelastuskopteri näytti käyvän paikalla.2110795- 408047
- 1235191
- 693518
- 1103516
Virkamiehille tarvitaan tuntuvat palkankorotukset
Naistenpäivänä on syytä muistuttaa, että virkamiehen euro on vain 80 senttiä. Palkat tulee saattaa samalle tasolle yksi283467- 613370
- 333137
- 512440
Olisipa saanut sinuun
Tutustua paremmin. Harmi että aloin lopulta jännittämään kun näytit tunteesi niin voimakkaasti ja lähestyit niin voimaak341946