Portál AbcLinuxu, 3. května 2025 07:20

Blbinky v bashi (2) - Najčastejšie slová v srt titulkoch

6.5.2009 00:22 | Přečteno: 1259× | iné

#!/bin/bash
SRT="$1"
TMP1=`mktemp`
if [ -z "$SRT" ]; then
  echo "USAGE: `basename $0` [file_in_cp1250_dos_eol.srt]"
  exit
fi 
cstocs 1250 utf8 "$SRT" | dos2unix | \
  grep -v '\-\->' | sed 's/<i>//g;s/<\/i>//g;s/[ ,.\*\(\)\"0123456789-\/]/\n/g' | \
  grep -v '^$' | perl -Mutf8 -pe 'utf8::decode($_);$_=lc($_);utf8::encode($_);' > "$TMP1"
k=0
m=`sort -u "$TMP1" | wc -l`
for i in `sort -u "$TMP1"`; do
  k=$(($k+1))
  POCET=`grep '^'$i'$' "$TMP1" | wc -l`
  echo "$k/$m ... $POCET $i" > /dev/stderr
  echo $POCET $i
done | sort -nr > "$SRT.stat"
rm "$TMP1"

Poznámky

$ time srtstat 'The Code - Linux.srt' 2>/dev/null
real	0m15.628s
user	0m12.093s
sys	0m11.821s
(Intel Atom 1.6 GHz, 1 GB ram, SATA disk 250 GB hitachi 8MB cache)

$ head -20 'The Code - Linux.srt.stat'
106 a
104 to
85 je
67 na
63 v
61 se
42 že
34 jsem
33 z
31 linux
29 ale
27 co
24 s
24 pro
24 linuxu
23 o
23 jako
22 byl
21 si
21 jsou
       

Hodnocení: 70 %

        špatnédobré        

Anketa

Chcete pokračovanie tohoto mini seriálu?
 (88 %)
 (13 %)
Celkem 40 hlasů

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

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

jose17 avatar 6.5.2009 07:39 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
Rozbalit Rozbalit vše Re: Blbinky v bashi (2) - Najčastejšie slová v srt titulkoch
Odpovědět | Sbalit | Link | Blokovat | Admin

> zavyslosti

nechcel si uz rovno napisat zavyslosty? :-)

Ja vim, on vi, ty nano!
6.5.2009 08:27 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Blbinky v bashi (2) - Najčastejšie slová v srt titulkoch
Odpovědět | Sbalit | Link | Blokovat | Admin
Tohle je fakt blbinka. Proč se to jmenuje blbinky v bashi, když tam voláš: sed, grep, cstocs, dos2unix jako zlatý hřeb na závěr - perl?
default avatar 6.5.2009 09:30 default | skóre: 22 | Madrid
Rozbalit Rozbalit vše Re: Blbinky v bashi (2) - Najčastejšie slová v srt titulkoch

Protože to jde mnohem jednoduššeji napsat přimo v tom Perlu či AWK? Ale když si tak uvědomuji ty závislosti, jejich verze a jejich nepodporu UTF-8, tak si myslím, že nejjednodušší by to bylo v Javě. Žádný dos2unix, tr, iconv, whatever… Žádný řešení závislostí… :-D

6.5.2009 21:09 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: Blbinky v bashi (2) - Najčastejšie slová v srt titulkoch
Žádný řešení závislostí… :-D
JRE ;-)
hikikomori82 avatar 6.5.2009 10:55 hikikomori82 | skóre: 18 | blog: foobar | Košice
Rozbalit Rozbalit vše Re: Blbinky v bashi (2) - Najčastejšie slová v srt titulkoch
Ano, toto sa pytal niekto uz minule, mas nejaky lepsi nazov? Tieto skripty su z kategorie "napisat, pouzit, zahodit", pouzivaju vsetky dostupne commandline utility, bash je len pojitko. Nebudem predsa pouzivat nejaky iny jazyk alebo tento skript prepisovat len preto ze sa neda napisat 100% vystizny nazov blogu.
6.5.2009 13:40 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Blbinky v bashi (2) - Najčastejšie slová v srt titulkoch
No kdybys ten blog nazval "Vtákoviny v shelle", bylo by to výstižnější ;-)
hikikomori82 avatar 6.5.2009 15:53 hikikomori82 | skóre: 18 | blog: foobar | Košice
Rozbalit Rozbalit vše Re: Blbinky v bashi (2) - Najčastejšie slová v srt titulkoch
Rozmyslal som ze by som to skratil na "Blbinky (2) - Najčastejšie slová v srt titulkoch"
6.5.2009 11:14 CEST
Rozbalit Rozbalit vše Re: Blbinky v bashi (2) - Najčastejšie slová v srt titulkoch
Odpovědět | Sbalit | Link | Blokovat | Admin
Hmmm, fakt jsi to s tim perlem prehnal. Pokud se to jmenuje "...v bashi", tak se zkus spis zamerit na bash. Jak do bashe nacpes perl, pripadne jeste jednu velkou rouru s pouzitim dalsich utilitek jako grep, sed a awk, tak uz je mozna lepsi napsat rovnou perl skript.

BTW: U me umi i tr prevadet ISO-8859-2 mala na velka a obracene.

Ja bych to v bashi resil spis takhle:
time iconv -f cp1250 -t l2 a.srt \
| sed -n -e '/^[0-9]\+[[:space:]]*$/d;/-->/d;s/<\/\?[^>]\+>//g;s/[^[:alpha:]]/ /g;s/[[:space:]]\+/\n/g;p;' \
| tr '[:upper:]' '[:lower:]' \
| grep -Ev '^[[:space:]]*$'  \
| sort | uniq -c | sort -nr
BTW: Titulky jsou z dilu HIMYM 4.21 a casy jsou
real    0m0.152s
user    0m0.024s
sys     0m0.008s
6.5.2009 21:00 ^([0-9a-fA-F]{2}([:-]?|$)){6}$
Rozbalit Rozbalit vše Re: Blbinky v bashi (2) - Najčastejšie slová v srt titulkoch
Hahaha, pobavil jsi me :-) To je prispevek dnesniho dne! Btw poznas, co sezere regularni vyraz v mem v nicku?

Založit nové vláknoNahoru

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