abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 17:44 | Zajímavý článek

    Jak si zobrazit pomocí Chrome a na Chromiu založených webových prohlížečích stránky s neplatným certifikátem? Stačí napsat thisisunsafe.

    Ladislav Hagara | Komentářů: 3
    včera 00:33 | Bezpečnostní upozornění

    V repozitáři AUR (Arch User Repository) linuxové distribuce Arch Linux byly nalezeny a odstraněny tři balíčky s malwarem. Jedná se o librewolf-fix-bin, firefox-patch-bin a zen-browser-patched-bin.

    Ladislav Hagara | Komentářů: 10
    včera 00:22 | Komunita

    Dle plánu by Debian 13 s kódovým názvem Trixie měl vyjít v sobotu 9. srpna.

    Ladislav Hagara | Komentářů: 0
    19.7. 13:22 | Komunita

    Vývoj linuxové distribuce Clear Linux (Wikipedie) vyvíjené společností Intel a optimalizováné pro jejich procesory byl oficiálně ukončen.

    Ladislav Hagara | Komentářů: 1
    18.7. 14:00 | Zajímavý článek

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    18.7. 12:00 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 12.0 (Mastodon). Forgejo je fork Gitei.

    Ladislav Hagara | Komentářů: 1
    17.7. 18:44 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 155 (pdf) a Hello World 27 (pdf).

    Ladislav Hagara | Komentářů: 1
    17.7. 16:11 | Nová verze

    Hyprland, tj. kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, byl vydán ve verzi 0.50.0. Podrobný přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 4
    17.7. 15:55 | Komunita

    Patrick Volkerding oznámil před dvaatřiceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.

    Ladislav Hagara | Komentářů: 6
    16.7. 21:22 | IT novinky

    Ministerstvo pro místní rozvoj (MMR) jako první orgán státní správy v Česku spustilo takzvaný „bug bounty“ program pro odhalování bezpečnostních rizik a zranitelných míst ve svých informačních systémech. Za nalezení kritické zranitelnosti nabízí veřejnosti odměnu 1000 eur, v případě vysoké závažnosti je to 500 eur. Program se inspiruje přístupy běžnými v komerčním sektoru nebo ve veřejné sféře v zahraničí.

    Ladislav Hagara | Komentářů: 19
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (26%)
     (19%)
     (5%)
     (7%)
     (2%)
     (5%)
     (5%)
     (31%)
    Celkem 42 hlasů
     Komentářů: 6, poslední dnes 09:19
    Rozcestník

    Kombinace grepu, dialogu, xclipu a gawk

    4.8.2011 19:29 | Přečteno: 1230× | GNU/Linux | Výběrový blog | poslední úprava: 4.8.2011 21:34

    Jedná se o velmi primitivní ukázku toho, jak jsem se pokusil napsat "program" (shellový skript) pro vyhledávání překladu anglického slovíčka ve GNU/FDL anglicko-českém slovníku, tedy v jeho "stažené offline verzi" ve formě prostého textového souboru v UTF-8. Přičemž tento můj "program" bere anglická slova k přeložení ze schránky X. Používám tyto programy: grep, dialog, xclip a gawk. Pokud tyto programy nemáte, tak si je musíte doinstalovat.

    gawk

    Vytvoříme gawk zdrojový soubor pojmenovaný "precti_dve_slova.awk", absolutní cesta k souboru bude /cesta/precti_dve_slova.awk. Bude mít následující obsah:

    {
      ## Výstupem tohoto gawk zdrojového souboru je jedno nebo dvě slova (po sobě jdoucí).
      ## (počítáno od začátku řádku (record)).
      ## Bereme na vědomí pouze první record (řádku)!
    
      # Všimněte si, že chybí specifikace /regulární výraz/
      # Tím že to chybí, znamená, že budeme zprácovávat libovolné (všechny) řádky.
      # NR znamená de facto číslo řádku (R = record), NF (F = field) číslo de facto obsahuje počet slov na řádce
    
      if ((NR == 1) && (NF == 1)) {
        printf("%s", $1)
        exit
      }
      
      # s = string (řetězec), printf je funkce pro formátovaný výstup
    
      if ((NR == 1) && (NF >= 2)) {
        printf("%s %s", $1, $2)
        exit
      }
    }
    

    Shellový skript

    #!/bin/bash
    # Tento skript se bude jmenovat třeba slovnik.sh
    # Slouží k překladu anglického slovíčka, které je obsahem schránky X.
    
    # Proměnná anj_slovnik je absolutní cesta k offline verzi GNU/FDL anglicko-českého
    # slovníku. Viz http://slovnik.zcu.cz/
    anj_slovnik="/cesta_ke_slovniku/slovnik_data_utf8.txt"
    
    # "while true": nekonečný cyklus, ukončíte ho pomocí Ctrl+C:
    while true; do
      grep -E -i "^$(xclip -o | gawk -f /cesta/prvni_dve_slova.awk)\>" \
       "${anj_slovnik}" | dialog --progressbox "překlad" 100 100
    
       # xclip -o znamená přesměrování schránky X na standardní výstup
       # pomocí konstrukce $() předáme výstup programů uvedených uvnitř této
       # konstrukce jako parametr programu grep
       # dialog pouze zobrazí výsledek překladu
       # Grep najde řádky odpovídající obsahu schránky.
    
      # Počkáme 5 sekund, než začně další "obrátka" nekonečného cyklu".
      sleep 5
    done
    

    Poznámka: "program" jsem moc netestoval. Spíš mi jde o to, abych si někde uchoval poznatky.

           

    Hodnocení: 75 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    4.8.2011 20:03 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Kombinace grepu, dialogu, xclipu a gawk
    Proč tak složitě?

    #!/bin/sh

    anj_slovnik="./slovnik_data_utf8.txt"

    while true; do cat "$anj_slovnik" | awk "/#/ {next;} /$(xsel -b | head -1)/" | head -10 | dialog --progressbox "překlad" 100 100 sleep 3 done
    4.8.2011 20:04 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Kombinace grepu, dialogu, xclipu a gawk
    Pardon, zapomněl jsem pre:
    #!/bin/sh
    
    anj_slovnik="./slovnik_data_utf8.txt"
    
    while true; do
      cat "$anj_slovnik" | awk "/#/ {next;} /$(xsel -b | head -1)/" | head -10 | dialog --progressbox "překlad" 100 100
      sleep 3
    done
    
    4.8.2011 20:26 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: Kombinace grepu, dialogu, xclipu a gawk

    Díky.

    4.8.2011 22:44 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Kombinace grepu, dialogu, xclipu a gawk
    ...určitě by se to dalo ještě vylepšit...
    5.8.2011 07:21 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: Kombinace grepu, dialogu, xclipu a gawk

    Jasně. Jestli budu mít čas a chuť, tak se kouknu, jak by to šlo vylepšit. Každopádně díky za inspiraci.

    Chytrex avatar 4.8.2011 21:48 Chytrex | skóre: 30 | Bohumín
    Rozbalit Rozbalit vše Re: Kombinace grepu, dialogu, xclipu a gawk
    Já na tohle používám qstardict :)
    Hrdý člen KERNEL ULTRAS .:. define QUESTION ((bb) || !(bb)) .:. Odmítám vaši realitu a nahrazuji ji svou vlastní..
    kotyz avatar 4.8.2011 21:51 kotyz | skóre: 25 | blog: kotyzblog | Plzeň
    Rozbalit Rozbalit vše Re: Kombinace grepu, dialogu, xclipu a gawk
    Z toho sem přešel na goldendict ;-)
    Hrdý člen KERNEL ULTRAS. | Furry/Brony/Otaku | Nemám čas ztrácet čas. | In 'pacman -Syu' we trust!
    4.8.2011 23:34 slayn | skóre: 5 | blog: Cokoliv
    Rozbalit Rozbalit vše Re: Kombinace grepu, dialogu, xclipu a gawk
    já používám stardict konzolovou verzi a zenity

    #!/bin/bash
    zenity --info --text "`zenity --entry | sdcv`"
    
    To err is human, to arr is pirate!
    5.8.2011 07:23 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: Kombinace grepu, dialogu, xclipu a gawk

    Děkuju všem za tipy.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.