Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: Illu - 03.06.20 - klo:08.58

Otsikko: Vs: Yksittäisten aakkosten lukumäärä tiedostossa (Ratkaistu)
Kirjoitti: Illu - 03.06.20 - klo:08.58
Miten saan selville yksittäisten aakkosten lukumäärän tiedostossa? Olkoon teksti tai taulukko kyseessä. Kirjainten kokonaismäärä selviää helposti, mutta pitäisi tietää, kuinka monta a-kirjainta, b-kirjainta jne. tiedosto sisältää.

Pitäisi tehdä irtokirjaimista nimikylttejä iso läjä ja tarvittava määrä irtokirjaimia pitää tilata. Tulisi sitten oikea määrä tilattua, kun tietää kunkin kirjaimen määrän. Toki voisi vaan laskea tekstistä kirjaimet, mutta ei se oikein fiksulta tunnu, kun kone sen voi tehdä.

Ubuntun tai mikkisoftan ohjelmistolla, mieluiten ei komentorivillä...
Otsikko: Vs: Yksittäisten aakkosten lukumäärä tiedostossa
Kirjoitti: kamara - 03.06.20 - klo:10.30
Pari tarkennusta tarvitaan ...

Missä formaatissa tiedosto on ?

Sisältääkö se ääkkösiä ?

Lisäksi miksi komentoriviä pelkäät, kun se on todennäköisesti kätevin tapa selvittää tämä ongelma ?!
Otsikko: Vs: Yksittäisten aakkosten lukumäärä tiedostossa
Kirjoitti: matsukan - 03.06.20 - klo:12.35

https://libreofficehelp.com/count-characters-in-libreoffice-calc-cell/

Kohta  : Count Occurrences of a specific character in a Cell

ja

https://stackoverflow.com/questions/32756710/count-specific-character-in-a-cell-in-openoffice-calc

Koodia: [Valitse]
LEN(Cell)-LEN(SUBSTITUTE(Cell;"YourCharacter";"")


Toivottavasti englanti sujuu
Otsikko: Vs: Yksittäisten aakkosten lukumäärä tiedostossa
Kirjoitti: Illu - 03.06.20 - klo:21.27
Pari tarkennusta tarvitaan ...

Missä formaatissa tiedosto on ?

Sisältääkö se ääkkösiä ?

Lisäksi miksi komentoriviä pelkäät, kun se on todennäköisesti kätevin tapa selvittää tämä ongelma ?!
Formaatti sinällään voi olla vaikka *.txt tai *.xls tai joku muu varsin tavallinen, jossa on aakkosia (ja numeroita). 100 nimeä voi olla vaikka yhtenä pötkönä, kun erikseen ei tarvitse poimia merkkien ketjuja.

Ei komentorivissä sinällään pelottavaa ole, arvelin esim. taulukko-ohjelmista löytyvän jonkin valmiin komennon. Toki voi käyttää taulukosta etsi-korvaa ja katsoa aakkosten määrän yksitellen, mutta se ei ole kovin "siisti juttu". Tavallaan siis, että antaa koneen hoitaa laskenta, joka ei paperilla ja kynälläkään olisi ylivoimainen.
Otsikko: Vs: Yksittäisten aakkosten lukumäärä tiedostossa
Kirjoitti: Illu - 03.06.20 - klo:21.34

https://libreofficehelp.com/count-characters-in-libreoffice-calc-cell/

Kohta  : Count Occurrences of a specific character in a Cell

ja

https://stackoverflow.com/questions/32756710/count-specific-character-in-a-cell-in-openoffice-calc

Koodia: [Valitse]
LEN(Cell)-LEN(SUBSTITUTE(Cell;"YourCharacter";"")
Nuo kertovat merkkien kokonaismäärän, ei yksittäisten merkkien määrän? Eli tarve on "Aaltonen" = 2xa, 1xl, 1xt, 1xo jne.



Toivottavasti englanti sujuu
Otsikko: Vs: Yksittäisten aakkosten lukumäärä tiedostossa
Kirjoitti: Tomin - 03.06.20 - klo:22.19
Päätteellä kävisi vaikka näin: ;D
Koodia: [Valitse]
tr -d '\n' < tiedosto.txt | sed -E 's/(\w)/\1\n/g' | sort | uniq -c | sort -n 8)
Otsikko: Vs: Yksittäisten aakkosten lukumäärä tiedostossa
Kirjoitti: Illu - 04.06.20 - klo:21.56
Päätteellä kävisi vaikka näin: ;D
Koodia: [Valitse]
tr -d '\n' < tiedosto.txt | sed -E 's/(\w)/\1\n/g' | sort | uniq -c | sort -n 8)

Tuo toimi riittävästi. Kaikki merkit olivat isoilla kirjaimilla, jostain syystä muutaman kirjaimen kohdalla koodi laski kirjaimen edessä olevan pisteen ja kirjaimen yhdeksi merkiksi. Esim. A 32 kpl .A 1 kpl, T 33 kpl .T 4 kpl.

Tarkkuus on kuitenkin riittävä, nuo muutamat erot on helppo laskea lopputuloksessa yhteen.

Kiitos
Otsikko: Vs: Yksittäisten aakkosten lukumäärä tiedostossa
Kirjoitti: Tomin - 04.06.20 - klo:22.09
Päätteellä kävisi vaikka näin: ;D
Koodia: [Valitse]
tr -d '\n' < tiedosto.txt | sed -E 's/(\w)/\1\n/g' | sort | uniq -c | sort -n 8)

Tuo toimi riittävästi. Kaikki merkit olivat isoilla kirjaimilla, jostain syystä muutaman kirjaimen kohdalla koodi laski kirjaimen edessä olevan pisteen ja kirjaimen yhdeksi merkiksi. Esim. A 32 kpl .A 1 kpl, T 33 kpl .T 4 kpl.

Tarkkuus on kuitenkin riittävä, nuo muutamat erot on helppo laskea lopputuloksessa yhteen.

Kiitos

Ole hyvä! Tuossa komennossa on oletus, että tiedostoista löytyy vain kirjaimia ja rivinvaihtoja. Tämä versio toimii kaikille merkeille paitsi toki rivinvaihdoille:
Koodia: [Valitse]
tr -d '\n' < tiedosto.txt | sed -E 's/(.)/\1\n/g' | sort | uniq -c | sort -n
Otsikko: Vs: Yksittäisten aakkosten lukumäärä tiedostossa
Kirjoitti: Illu - 05.06.20 - klo:06.06
Päätteellä kävisi vaikka näin: ;D
Koodia: [Valitse]
tr -d '\n' < tiedosto.txt | sed -E 's/(\w)/\1\n/g' | sort | uniq -c | sort -n 8)

Tuo toimi riittävästi. Kaikki merkit olivat isoilla kirjaimilla, jostain syystä muutaman kirjaimen kohdalla koodi laski kirjaimen edessä olevan pisteen ja kirjaimen yhdeksi merkiksi. Esim. A 32 kpl .A 1 kpl, T 33 kpl .T 4 kpl.

Tarkkuus on kuitenkin riittävä, nuo muutamat erot on helppo laskea lopputuloksessa yhteen.

Kiitos

Ole hyvä! Tuossa komennossa on oletus, että tiedostoista löytyy vain kirjaimia ja rivinvaihtoja. Tämä versio toimii kaikille merkeille paitsi toki rivinvaihdoille:
Koodia: [Valitse]
tr -d '\n' < tiedosto.txt | sed -E 's/(.)/\1\n/g' | sort | uniq -c | sort -n

No tuohan tuotti täydellisen tuloksen.

Toinenkin kiitos.
Otsikko: Vs: Yksittäisten aakkosten lukumäärä tiedostossa (Ratkaistu)
Kirjoitti: Illu - 07.06.20 - klo:07.37
Tuolla koodinpätkällä onkin mielenkiintoista tutkia, miten suomenkielisessä kirjallisuudessa eri kirjaimet esiintyvät.

Pieni esimerkki eräästä Projekti Lönnrotin kirjasta, kpl ja merkki:

  17495 u
  18318 ä
  19167 o
  22041 k
  22528 l
  22843 s
  26317 e
  30588 t
  33269 n
  39329 i
  49017 a

"Haluatko ostaa vokaalin?"