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í
×
    dnes 10:44 | Nová verze

    Byla vydána nová verze 4.8 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | Nová verze

    Apple container dospěl do verze 1.0.0. Jedná se o open source nástroj pro spouštění linuxových kontejnerů na macOS postavený nad containerization. Napsaný je v programovacím jazyce Swift a optimalizovaný pro Apple silicon.

    Ladislav Hagara | Komentářů: 0
    dnes 03:33 | Nová verze

    Bylo vydáno Eclipse IDE 2026-06 aneb Eclipse 4.40. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 15:44 | Zajímavý software

    Asterinas (GitHub) je v Rustu napsané jádro operačního systému poskytující s jádrem Linux kompatibilní ABI. Vydána byla verze 0.18.0. První distribucí postavenou nad jádrem Asterinas je Asterinas NixOS. Nejedná se o oficiální projekt NixOS a nemá nic společného s NixOS Foundation.

    Ladislav Hagara | Komentářů: 1
    včera 13:22 | Zajímavý článek

    Podrobně byla rozebrána kritická zranitelnost v nf_tables (CVE-2026-23111). Další lokální eskalace práv na Linuxu. V upstreamu byla zranitelnost již v únoru opravena. Ve zdrojovém kódu stačilo odstranit 1 vykřičník.

    Ladislav Hagara | Komentářů: 1
    včera 12:11 | Nová verze

    Evropská komise (EK) nařídila americké společnosti Meta, že musí znovu umožnit bezplatný přístup konkurenčním obecně zaměřeným asistentům umělé inteligence (AI) k WhatsAppu a tento přístup musí zachovat až do ukončení antimonopolního šetření. Opatření je dočasné a má zabránit vážnému a nevratnému poškození konkurence na rychle rostoucím trhu s obecnými AI asistenty. Meta uvedla, že se proti rozhodnutí odvolá.

    Ladislav Hagara | Komentářů: 12
    včera 11:44 | IT novinky

    Společnost Anthropic představila AI modely Claude Fable 5 a Claude Mythos 5. Claude Fable 5 je první model třídy Mythos určený pro běžné použití.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Nová verze

    Byla vydána nová stabilní verze 3.24.0, tj. první z nové řady 3.24, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 03:33 | Komunita

    Na čem pracují vývojáři v Rustu napsaného mikrokernelového unixového operačního systému Redox OS (Wikipedie)? Byl publikován přehled vývoje za květen. Vypíchnout lze nový scheduler EEVDF nebo port desktopového prostředí Xfce na Redox OS.

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

    Upozornění pro uživatele Asahi Linuxu: Neaktualizujte macOS na verzi 27 Golden Gate! Apple změnil detekci spouštěcích oddílů. Po aktualizaci oddíl s Asahi Linuxem nevidí. Snad je to jenom chyba.

    Ladislav Hagara | Komentářů: 6
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (15%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1872 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: regulární výraz jako argument skriptu

    9.3.2007 17:46 hibbit | Brno
    regulární výraz jako argument skriptu
    Přečteno: 442×
    Mám bashový skript s proměnnou, pomocí které chci předat argument - regulární výraz obsahující mezeru, v mém případě konkrétně několikrát pro egrep. Bez ohledu na uvozovky je však mezera shellem považována za oddělovač mezi argumenty a nenašel jsem způsob, jak tuto interpretaci změnit. Nakonec jsem skončil u [:space:]. Je možné to provést bez použití té znakové třídy? A pokud ano, kde se to dá najít?

    Anebo je potřeba změnit něco v tom skriptu? Ten egrep tam mám stejným způsobem, jako bych to psal z CL, pouze místo regulárního výrazu v uvozovkách '...' je $1. V tom, co jsem našel o potlačení interpretace metaznaků, byla všude zmínka jenom o uvozovkách a backslashi, to ale zřejmě není ten případ. Nic podstatného jsem snad nepřehlídl, spíš něco zásadního nevím. Díky za nasměrování.
    Nechval dne před fsck a neříkej hop dokud jsi ne sync.

    Odpovědi

    Josef Kufner avatar 9.3.2007 17:55 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: regulární výraz jako argument skriptu
    $ vim space.sh
    $ chmd +x space.sh
    bash: chmd: command not found
    $ chomd +x space.sh
    bash: chomd: command not found
    $ chmod +x space.sh
    $ ./space.sh "hello world"
    hello*world
    $ cat ./space.sh
    #!/bin/bash
    
    sed 's/ /*/' <<< "$1"
    
    $
    Hello world ! Segmentation fault (core dumped)
    m$ lipo $m avatar 9.3.2007 17:55 m$ lipo $m | skóre: 19 | blog: čaj o páté | Redmond
    Rozbalit Rozbalit vše Re: regulární výraz jako argument skriptu
    zkus pouzit pred mezerou \ jako zruseni spec. vyznamu
    Albuquerque, New Mexico (April 4, 1975)
    9.3.2007 18:36 Ash
    Rozbalit Rozbalit vše Re: regulární výraz jako argument skriptu
    pouze místo regulárního výrazu v uvozovkách '...' je $1. V tom, co jsem našel o potlačení interpretace metaznaků, byla všude zmínka jenom o uvozovkách a backslashi, to ale zřejmě není ten případ.

    Měl by to být přesně ten případ. Sice se to podle toho popisu těžko představuje, co konkrétně Vám nejde, ale když použijete uvozovky.
    ./myscript.sh "regexp s mezerama"
    
    a v myscript.sh:
    prom="$1"  # uvozovky okolo $1!
    egrep "$prom" file.foo
    tak to bude fungovat. Nebo copy&paste ukázku co vám přesně nejde...

    Snad jen kdybyste předával víc parametrů a používal $@ tak byste mohl narazit, ale jinak...
    9.3.2007 19:27 Pavel1 | skóre: 33
    Rozbalit Rozbalit vše Re: regulární výraz jako argument skriptu
    V předávání parametrů skriptu nevidím problém, můžeš vyzkoušet, viz. testovací skriptík s parametry:
    $ cat ./skript1.sh
    #!/bin/bash
    echo "     Jmeno skriptu :  ;$0;"
    echo "   Pocet parametru :  ;$#;"
    echo " Vsechny parametry :  ;$@;"
    echo "        Parametr 1 :  ;$1;"
    echo "        Parametr 2 :  ;$2;"
    echo "        Parametr 3 :  ;$3;"
    echo "        Parametr 4 :  ;$4;"
    
    A zde ho vyzkoušíme:
    $ ./skript1.sh "1 parametr  skriptu  " 2  " 3  "
         Jmeno skriptu :  ;./skript1.sh;
       Pocet parametru :  ;3;
     Vsechny parametry :  ;1 parametr  skriptu   2  3  ;
            Parametr 1 :  ;1 parametr  skriptu  ;
            Parametr 2 :  ;2;
            Parametr 3 :  ; 3  ;
            Parametr 4 :  ;;
    
    11.3.2007 18:12 hibbit | Brno
    Rozbalit Rozbalit vše Re: regulární výraz jako argument skriptu
    #! /bin/bash
    cd /home/hibbit/prept
    find . -type f -print0 | xargs -0 egrep -ah $1 >/home/hibbit/vyber.txt
    cd /home/hibbit/
    egrep $1 vyber.txt --colour

    - takhle bylo původně. V obou parametrech má správně být "$1". Než v tom začít hledat vědu, měl jsem se radši do nějakých skriptů podívat. Díky.
    Nechval dne před fsck a neříkej hop dokud jsi ne sync.

    Založit nové vláknoNahoru

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

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