Portál AbcLinuxu, 11. května 2025 10:44

Dotaz: Jak spočítat znaky?

Pavel V. avatar 7.1.2008 10:25 Pavel V. | skóre: 22 | Pardubice
Jak spočítat znaky?
Přečteno: 673×
Odpovědět | Admin
Mám textový soubor v kterém je x emailových adres. Já bych tyto adresy chtěl spočítat. Napadlo mě že bych v dokumentu spočítal počet zavináčů. Netušíte čím a jak protáhnout textový soubor, aby mi to spočítalo zavináče? Předem díky za každou radu.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.1.2008 10:39 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Jak spočítat znaky?
Odpovědět | | Sbalit | Link | Blokovat | Admin
perl -np -e 's/[^@]//g' file | wc -c
7.1.2008 10:40 ajikdpoe | skóre: 23 | blog: dvh
Rozbalit Rozbalit vše Re: Jak spočítat znaky?
Odpovědět | | Sbalit | Link | Blokovat | Admin
grep '@' subor.txt | wc -l
7.1.2008 10:43 ajikdpoe | skóre: 23 | blog: dvh
Rozbalit Rozbalit vše Re: Jak spočítat znaky?
Ak na jednom riadku moze byt viac emailovych adries tak:
sed 's/@/@\n/' subor.txt | grep '@' | wc -l
7.1.2008 11:53 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Jak spočítat znaky?
a čo tretí a ďaľší @ ?
7.1.2008 16:17 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Jak spočítat znaky?
sed 's/@/@\n/g' subor.txt | grep '@' | wc -l
7.1.2008 10:44 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
Rozbalit Rozbalit vše Re: Jak spočítat znaky?
to by šlapalo, jen pokud je jedna emailová adresa na řádek. Obecně doporučuji to první řešení - ono by to šlo napsat dost podobným příkazem i bez toho Perlu (pokud ho třeba nemáš nainstalovaný a instalovat ho nechceš)
~ w w w w (oo)   [oo] w w w w ~
7.1.2008 11:02 Fox
Rozbalit Rozbalit vše Re: Jak spočítat znaky?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Riesienie je myslim jednoduche, sprav si kopiu toho textoveho suboru, otvor si ho vo VIM-e a prikazom :%s/@/zavinac nahradis vsetky zavinace textovym retazcom "zavinac" a dole v info riadku ti ukaze napr. 3 substitutions on 3 lines (v pripade ze tam budes mat 3 mailove adresy na 3 riadkoch)..
Ilfirin avatar 7.1.2008 11:26 Ilfirin | skóre: 32 | blog: ilfblog | Liberec
Rozbalit Rozbalit vše Re: Jak spočítat znaky?
Tak tímhle způsobem lze použít jakýkoli textový editor s funkcí "najdi a nahraď" a asi je to nejjednoduší řešení. Ale ne trvanlivé. Pokud by tazatel chtěl akci opakovat, bude pro něj lepší jeden z výše uvedených skriptů.
Pavel V. avatar 7.1.2008 11:22 Pavel V. | skóre: 22 | Pardubice
Rozbalit Rozbalit vše Re: Jak spočítat znaky?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Děkuji všem za velice přínosné rady.
7.1.2008 11:23 mlz
Rozbalit Rozbalit vše Re: Jak spočítat znaky?
Odpovědět | | Sbalit | Link | Blokovat | Admin
grep -c @ < soubor
7.1.2008 11:34 .
Rozbalit Rozbalit vše Re: Jak spočítat znaky?
Takhle spočítáte řádky, na kterých se vyskytuje @.
7.1.2008 12:17 Jan Šimák | skóre: 37 | Hradec Králové
Rozbalit Rozbalit vše Re: Jak spočítat znaky?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Také se o něco pokusím :-)
grep -o '@' < vzor.txt | wc -l
7.1.2008 15:24 Jiří Jakeš | skóre: 22 | blog: Linuxovna_JJ | Taipei
Rozbalit Rozbalit vše Re: Jak spočítat znaky?
To lze nahradit grep -co '@' vzor.txt.
7.1.2008 15:43 .
Rozbalit Rozbalit vše Re: Jak spočítat znaky?
Nelze. (Debian Etch)

Tmel to tedy není
7.1.2008 16:20 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Jak spočítat znaky?
To je něco jiného:
-c, --count
    Suppress  normal output; instead print a count of matching lines for each input file.
7.1.2008 16:27 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Jak spočítat znaky?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak asi nej se mi tu líbilo grep -o '@' soubor.txt | wc -l V případě pouze adres bez mezer v adrese by mohlo stačit i jednoduché pouhé wc -w soubor.txt.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.