script ahhoz hogy hanyszo egyenkent hanszor

jelenik meg egy szoveges fileban.

A fileok igy neznek ki:

valaszok1.txt:

a
b
b
a
cb
cb

es ilyen erdmeny kellene:
a :2szer
b :2szer
cb :2szer

Nem tudtok valami gyors linuxos varazslatot? :) scriptet?
Elore is koszonom ha valaki segit ;)

Hozzászólások

sort valaszok1.txt | uniq -c
de az output nem pont olyan.

(En a sajat verziomban itt alant azert nem csinaltam meg az "1szer", "2szer" jellegu kiirast, mert 3, 5, 6, es 8 eseten mast kell irni, valamint a 0-ra vegzodoeket is kulon kell kezelni - 20szor, 30szor, stb. Ez meg mar fabaltas modszer, es kulonben is hagyjunk mar valamit a hazifeladatbol neki is.)


sort valaszok1.txt | uniq -c | awk '{print $2" :"$1"x van meg"}'

Kulonben egy erdekes parancssor:


sort --help | tr ' ' '\n' | tr -d '",-.?<>*%!()' | sort | uniq -c

A "sort --help" helyere barmi kimenetet generalo parancs beirhato, akar cat is.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Felesleges egy feladatra sort| uniq| awk, ha simán awk-val is megoldható - mint lent írtam.

Ami a "sort --help ..." példádat illeti, ez szerintem egyszerűbb (persze nem ekvivalens a kettő, csak igen nagy vonalakban:

sort --help | tr -cs '[a-zA-Z0-9]' '[\n*]' | ...

- azaz (-c) minden ami NEM betű/számjegy, azt cseréljük le soremelésre, de (-s) a sok soremelést tömörítsük le egy soremelésre - azaz a végeredmény egy sor = egy szó formájú. Legalábbis ránézésre a tied is kb. ezt csinálja.)

Nem veletlen a felsorolas - ugyanis vannak kimenetek, ahol a kotojelnek ertekes szerepe van. Peldaul nem szerencses, ha egy olyan szoveget, ami a Szechenyi-tervrol szol, a statisztikazott szavaknal a Szechenyi es a terv kulon esne statisztikai meres ala. Ez a viselkedes a felsorolas okszeru szerkesztesevel megoldhato elso szinten, viszont a te megoldasod mindenkepp figyelmen kivul hagyja azt a tenyt, hogy itt a nem-alfanumerikus jeleknek is jelentosege lehet.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

házibeadás határideje közeleg?

awk '{szo[$1]++} END {for ( i in szo ) {print i, ":", szo[i];} }' valaszok1.txt

Nem, ez nem házi volt :) Ez csak egy szavazas eredményeinek összesítésére kellett.
Köszönöm a válaszaitokat!
i <3 hup :D:D:D