Portál AbcLinuxu, 13. prosinec 2017 23:51

Filtrujme čtivé texty z Projektu Gutenberg 3

6. 4. 2016 | Karel Kulhavý
Články - Filtrujme čtivé texty z Projektu Gutenberg 3  

V minulém dílu jsme skončili u příkazu find pg -type f -ls | tee filelist.txt, který vypisuje soubory včetně jejich délky.

Obsah souboru filelist.txt pak vypadá takto:

9574820 4504 -rw-rw-r--   1 clock    clock     4608764 Mar 15  2015 pg/etext96/pgwfh04.txt
9574857 4216 -rw-rw-r--   1 clock    clock     4315118 Mar 15  2015 pg/etext96/plivs10.txt
9574841  584 -rw-rw-r--   1 clock    clock      597079 Mar 17  2015 pg/etext96/bti1210.txt
9574842    4 -rw-rw-r--   1 clock    clock         274 Mar 17  2015 pg/etext96/sgcwp22.txt
9574873  216 -rw-rw-r--   1 clock    clock      220594 Mar 17  2015 pg/etext96/nvoyg10.txt
9574834  504 -rw-rw-r--   1 clock    clock      512351 Mar 17  2015 pg/etext96/psrev10.txt
9574821  616 -rw-rw-r--   1 clock    clock      629627 Mar 17  2015 pg/etext96/rlsl210.txt
9574878  340 -rw-rw-r--   1 clock    clock      346597 Mar 17  2015 pg/etext96/slanr10.txt
9574827  180 -rw-rw-r--   1 clock    clock      183018 Mar 17  2015 pg/etext96/batlf10.txt
9574853    4 -rw-rw-r--   1 clock    clock          80 Mar 17  2015 pg/etext96/notun3-readme.txt
9574874  324 -rw-rw-r--   1 clock    clock      328835 Mar 17  2015 pg/etext96/britm10a.txt
9574846   60 -rw-rw-r--   1 clock    clock       60059 Mar 17  2015 pg/etext96/thoml10.txt
9574844  420 -rw-rw-r--   1 clock    clock      427785 Mar 17  2015 pg/etext96/shabr10.txt
9574824  852 -rw-rw-r--   1 clock    clock      871780 Mar 17  2015 pg/etext96/jnasm10.txt
9574826 3828 -rw-rw-r--   1 clock    clock     3916362 Mar 15  2015 pg/etext96/pgw050c.txt
9574830 4768 -rw-rw-r--   1 clock    clock     4879701 Mar 15  2015 pg/etext96/pgws04.txt
9574843 4400 -rw-rw-r--   1 clock    clock     4502700 Mar 15  2015 pg/etext96/pgw050fh.txt
9574864 3540 -rw-rw-r--   1 clock    clock     3622143 Mar 15  2015 pg/etext96/pgw050pq.txt
9574877 4732 -rw-rw-r--   1 clock    clock     4841990 Mar 15  2015 pg/etext96/pgw050s.txt
9574838  452 -rw-rw-r--   1 clock    clock      460592 Mar 17  2015 pg/etext96/ehnab10.txt
9574868 3476 -rw-rw-r--   1 clock    clock     3557017 Mar 15  2015 pg/etext96/pgw050mo.txt
9574876 1696 -rw-rw-r--   1 clock    clock     1735560 Mar 15  2015 pg/etext96/pgw050xz.txt
9574832  584 -rw-rw-r--   1 clock    clock      594465 Mar 17  2015 pg/etext96/bti0110.txt
[...]

Tento výpis s délkami souborů nám také umožní vyhnout se souborům extrémně krátkým, například souboru pg/etext96/sgcwp22.txt. Na první pohled vidíme, že tento soubor žádný beletrický literární zážitek nenabízí, nejedná se o extrémně krátkou povídku, vtip ani krátký verš:

Sorry, but this file is broken and has been removed.  Please see http://www.secretfun.com  for information about how to order the current version of The Secret Guide to Computers.

Project Gutenberg is working to make the current version available as an etext in etext02.

Dále si můžeme nechat vypsat přehled, jak často se vyskytují které velikosti souborů. Jak to uděláme? Soubor se seznamem jmen souborů a velikostí už máme pod jménem filelist.txt. Jeho obsah jsme už viděli. Mohlo by nás napadnout, že prostě vyfiltrujeme 7. sloupec, což je velikost souboru, potom to setřídíme, použijeme uniq -c a sort a bude hotovo. To ale nebude fungovat. Proč?

Z mé zkušenosti podstatnou část času stráveného s IT tvoří diagnostika, proč to, o čem jsme přesvědčeni, že by se mělo chovat určitým způsobem, se chová jiným způsobem. Tomu se říká nepředvidatelnost nebo obtížná předvidatelnost a obecně snižuje hodnotu věcí – s autem, jehož řízení reaguje nepředvidatelně, se nesnadno a nebezpečně jezdí, s nepředvidatelnými lidmi je nesnadné žít, mít vztahy nebo spolupracovat, na sporáku, jehož hořáky se chovají nepředvidatelně se bude obtížně vařit, atd. Tudíž tento jev podstatným způsobem snižuje hodnotu, kterou nám IT jinak přináší. Je způsoben dle mého názoru zejména vysokou komplexitou IT.

Čím to tedy v našem případě bude? Možná si všimneme, že mezery i tabulátory se vlastně zobrazují na obrazovce stejně, a bez čtení manuálové stránky příkazu cut není třeba jasné, jak cut reaguje na tabulátory, jednotlivé a vícenásobné mezery. Zda je tímto problém způsoben a nebo něčím jiným, se dozvíme v příštím díle.

Související články

Filtrujme čtivé texty z Projektu Gutenberg 1
Filtrujme čtivé texty z Projektu Gutenberg 2

Další články z této rubriky

Syncthing
Twibright Registrator: Instalace, odinstalace, test, základní použití
Twibright Registrator: fotografie v šeru bez stativu 2
Twibright Registrator: fotografie v šeru bez stativu 1
Filtrujeme čtivé texty z Projektu Gutenberg 9

Diskuse k tomuto článku

6.4.2016 14:53 pm
Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 3
Odpovědět | Sbalit | Link | Blokovat | Admin
Tenhle článek trochu kulhá ...
6.4.2016 17:41 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 3
Náhodou, teď to konečně začíná být zajímavé. Počítám, že do příštího dílu nebudu moci usnout napětím, jestli se autor opravdu chystá parsovat ten výstup místo toho, aby použil -printf (a jestli podobně bude i filtrovat soubory delší než určená minimální velikost místo použití -size, ale k tomu se asi dostaneme až tak za 2-3 díly).
7.4.2016 10:14 Jindřich Makovička | skóre: 13
Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 3
Mně přijde, že Clock se pohybuje proti směru času - podobně jako Benjamin Button nebo M. Night Shyamalan. Teď ještě trochu tápe, ten něco jako QR kód z roku 2007 se taky moc nechytí, ale až v roce 2003 vstoupí do CzFree a v roce 2002 vymyslí Ronju, tak to bude pecka :)
Petr Tomášek avatar 7.4.2016 15:48 Petr Tomášek | skóre: 37 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 3
Třeba mu psycholožka řekla, že je moc složitej :-)
8.4.2016 19:07 R
Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 3
Lepsie ako mat poruchu osobnosti a nebyt schopny styku :D
Petr Tomášek avatar 7.4.2016 15:47 Petr Tomášek | skóre: 37 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 3
Jendа avatar 6.4.2016 17:35 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 3
Odpovědět | Sbalit | Link | Blokovat | Admin
Mně pár lidí říkalo, že bych měl zvážit splitování svých článků na kratší. Ale tohle je docela extrém, ne?
Why did the multithreaded chicken cross the road? to To other side. get the
6.4.2016 23:46 Vlado
Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 3
+1: Áno, toto sa mi vidí ako veľký extrém!
7.4.2016 07:24 Olin
Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 3
Myslím že laťka byla nasazena opravdu zatraceně vysoko... Tohle je prostě masakr.
8.4.2016 10:27 miky
Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 3
Ja myslim, ze vysvetleni delky clanku je uplne jasne. On to asi autor nezamyslel, to za nej udelal ten prikaz "cut". Zrejme ho pouzil a zbytek clanku se ztratil :) Ale jinak je to fakt sila, uz se tesim na dalsi dil :) to vypada na nekonecny serial, kam se na nej hrabe Dallas...
Jesus Jimenez avatar 11.4.2016 12:39 Jesus Jimenez | skóre: 28
Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 3
On to na konci spoji catem dohromady.
Doaenův zákon průtahů: Čím pomaleji pracuješ, tím méně naděláš chyb. -- Murphy
9.4.2016 00:22 mikezt
Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 3
Odpovědět | Sbalit | Link | Blokovat | Admin
V čom je problém s týmto seriálom? Nezdá sa mi, že by tu diskutujúci písali kvantá zaujímavejších článkov/seriálov. Clock je síce svojský, ale nie je to vypatlaný ydiot, ktorý nevie, o čom píše.
Jendа avatar 9.4.2016 01:47 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 3
V čom je problém s týmto seriálom?
Tak třeba u tohoto dílu jeho krátkost.
Nezdá sa mi, že by tu diskutujúci písali kvantá zaujímavejších článkov/seriálov.
Jo, poslední dobou moc nepíšu, zkusím napravit. Ale nemusím přece dělat vlastní řízky, abych mohl o cizích říct, že jsou připálené.
Why did the multithreaded chicken cross the road? to To other side. get the

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