abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Navštivte Abc obchůdek se samolepkami a přívěsky!
Rozšířené hledání
×
dnes 06:11 | Komerce
Rozrůstající se softwarová společnost v Plzni zabývající se telematikou hledá schopné vývojáře a nadšence se zájmem o OS Linux. Uplatnění zde najdou především vývojáři C++ se znalostí OS Linuxu, dále programátoři v jazyku Java nebo vývojáři se zkušenostmi s Oracle DB a Oracle ADF. Více informací o společnosti. … více »
Reklama | Komentářů: 0
24.5. 22:45 | IT novinky
NASA, která společně s Rackspace stála u zrodu projektu OpenStack, se již nadále nebude podílet na dalším vývoji této "infrastructure-as-a-service" platformy. V NASA totiž došli k závěru, že vzhledem k podpoře OpenStacku ze strany společností jako Red Hat, AT&T a HP lze jejich práci považovat za dokončenou. Posléze se NASA plánuje stáhnout i z vývoje další platformy pro cloud computing jménem Nebula.
Migilenik | Komentářů: 0
24.5. 22:45 | Upozornění
Blíží se svátek IPv6 a s ním i konference IPv6 Day. Na návštěvníky této akce čeká nejen bohatý program, ale také jedna speciální nabídka – v průběhu setkání bude možné získat se slevou 66 procent třetí vydání knihy IPv6 vysokoškolského pedagoga a publicisty Pavla Satrapy, tedy za 105 korun. … více »
Vilem Sladek | Komentářů: 6
24.5. 16:14 | Pozvánky

Přijďte si zasprintovat na Djangu, jiném Python open-source projektu, nebo jen potkat ostatní vývojáře!

… více »
Whit | Komentářů: 0
24.5. 10:20 | Nová verze
Na zrcadlech a torrentech jsou již k dispozici ISO obrazy distribuce Mageia 2. Poznámky k vydání čtěte zde.
Liborek | Komentářů: 15
23.5. 13:47 | Pozvánky

Letos v říjnu se v Praze uskuteční hned několik konferencí. Odehraje se zde nově vzniklá konference LinuxDays. K ní se přidá čtvrtý ročník openSUSE Conference, dvanáctý ročník SUSE Labs conference a aby to nebylo málo, přidá se i první ročník Gentoo miniconf. A to vše ve stejné dny a na stejném místě.

… více »
Miška | Komentářů: 7
23.5. 13:27 | Zajímavý projekt
Printerd je název nového projektu tiskového démona, který bude využívat PolicyKit a D-Bus. Projekt je zatím na úplném začátku, takže nejde o nic vhodného k produkčnímu nasazení. Mimo jiné aktuálně akceptuje jako vstup jen PDF dokumenty.
Luboš Doležel (Doli) | Komentářů: 67
23.5. 13:25 | Zajímavý software
Tři vývojáři ze společnosti Engine Yard přecházejí po dohodě mezi firmami do Red Hatu. Jde o vývojáře zabývající se rozvojem projektu JRuby. To ukazuje, že Red Hat má zájem o podporu alternativních jazyků nad OpenJDK.
Luboš Doležel (Doli) | Komentářů: 1
23.5. 13:20 | Zajímavý software
Fedora přejde na knihovnu libusbx, což je fork původní knihovny libusb. Důvodem pro fork byl zjevný nedostatek času nebo zájmu ze strany správce projektu. libusbx už teď nabízí užitečné funkce navrch.
Luboš Doležel (Doli) | Komentářů: 5
23.5. 10:29 | Nová verze
Vyšlo LLVM 3.1. Vylepšení se dotýkají podpory C++ 11 nebo architektur ARM a MIPS. Dále se můžete těšit z Python bindings nebo nástroje AddressSanitizer pro detekci chyb při práci s pamětí.
Luboš Doležel (Doli) | Komentářů: 0
Pokud by se prohlížeč Opera stal svobodným:
 (9%)
 (32%)
 (1%)
 (58%)
Celkem 286 hlasů
 Komentářů: 34, poslední dnes 17:22
    Rozcestník
    Reklama
    Autoškola testy online Levný benzín

    BASH a práce s řetězci

    Článek na thegeekstuff.com ukazuje, jak v BASHi pracovat s řetězci. Pokud ve svém skriptu chcete zjistit délku řetězce nebo například vyhledat a případně nahradit podřetězec, v článku najdete informace, jak toho docílit.

    23.7.2010 10:21 | Tomáš Heger (geckon) | Zajímavý článek


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

    Komentáře

    Vložit další komentář

    23.7.2010 11:05 Ja
    Rozbalit Rozbalit vše Re: BASH a práce s řetězci
    Tohle nechápu, to je tak těžké napsat "man bash" - mám pocit že je to tam popsané přehledněji a v kontextu - kdyby to byl překlad do češtiny (nebo jiného jazyka), chápal bych přínos pro lidi bez znalosti angličtiny, ale takhle?
    23.7.2010 11:09 Jindřich Makovička | skóre: 4
    Rozbalit Rozbalit vše Re: BASH a práce s řetězci
    A hlavně existuje ABS Guide.
    yac avatar 23.7.2010 21:42 yac | skóre: 8 | blog: srckbin | Ostrava
    Rozbalit Rozbalit vše Re: BASH a práce s řetězci
    Pokud o tom (o možnostech bashe a jeho relativně slušném manuálu) člověk neví, tak nemá důvod. Řekl bych, že by ten článek byl k něčemu, kdyby na konci úvodu bylo něco jako:

    "Remember, all this and much more is in awesome bash manpages, so just type
    man bash
    and search what you need."
    srck! Linux smrdí. Méně.
    default avatar 23.7.2010 22:31 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: BASH a práce s řetězci
    Problém bashího manuálu je, že ho člověk musí napřed celý přečíst, aby věděl, co v něm najde. Něco jako Oraclí dokumentace. :-)
    23.7.2010 21:53 imploder | skóre: 10
    Rozbalit Rozbalit vše Re: BASH a práce s řetězci
    Mně ty manuálové stránky docela štvou, musím hádat man [co] mám zadat, není v tom jasný systém, někde manuál chybí nebo v něm skoro nic není a zbytek je v info (jak se ten bazmek krucinál ovládá) nebo někde ještě jinde. Obyčejná dokumentace v HTML nebo windowsovské helpy jsou mnohem přehlednější. Akorát to neběhá v těch předpotopních konzolích.
    24.7.2010 00:03 Semo | skóre: 42 | blog: Semo
    Rozbalit Rozbalit vše Re: BASH a práce s řetězci
    Na citanie info bazmegu nainstaluj pinfo. Lynx-like motion rules.
    If you hold a Unix shell up to your ear, you can you hear the C.
    24.7.2010 13:01 imploder | skóre: 10
    Rozbalit Rozbalit vše Re: BASH a práce s řetězci
    Díky, pinfo je šikovná věc, ovládá se to a vypadá to normálně. To by se mělo dávat jako výchozí.
    Jardík avatar 23.7.2010 11:33 Jardík | skóre: 38 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: BASH a práce s řetězci
    Mě by potěšilo, kdyby se už lidi konečně naučili ty řetězce používat v různých skriptech pořádně - hlavně v configure skriptech pro software. To když to rozbalíte do adresáře s mezerou, tak to nefunguje. Nebo u kýblu SW to rovnou napíšou "nerozbalujte do adresáře s mezerou". Tady je vidět absolutní neschopnost. Sice jsem taky neschopný, ale alespoň nepředpokládám, že každý adresář neobsahuje mezeru.
    readme | Nejezte žlutý sníh. ┌∩┐(◕_◕)┌∩┐
    default avatar 23.7.2010 12:41 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: BASH a práce s řetězci
    Tohle neni zdaleka problém jen skriptů. Oracle s jeho SQL*Plus o tom ví své. :-)
    23.7.2010 12:57 utx
    Rozbalit Rozbalit vše Re: BASH a práce s řetězci
    configure skripty jsou od toho, aby analyzovaly prostředí, na kterém běží. Takže se musí psát Bourne Shellu (nejlépe z roku 1978), a ještě se musíte vyhnout konstrukcím, které by na některé platformě vinou nějaké chyby nefungovaly.

    Mezery do cest souborů při kompilaci bych se raději ani nepokoušel používat. Uvědomte si, že v tom stařičkém Bourne Shellu musíte napsat skript, který vám takové cesty korektně převede do Makefile (kompatibilního se všemi verzemi make anebo makrem přispůsobené detekovanému chování make) i do hlavičkového souboru.

    A teď si uvědomte, že jednotlivé shelly jsou mezi sebou docela drsně nekompatibilní, dokonce i různé verze Bashe dávají na stejný výraz odlišné výsledky!

    Příklad:
    FUJ="a*b\\*c" ; echo ${FUJ//\\*/-hvězdička-}
    
    Výstup: Bash 2, busybox:
    a-hvězdička-b-\hvězdička-c
    
    Výstup: Bash 3, Bash 4, zsh:
    a*b-hvězdička-
    
    Výstup: dash:
    dash: Bad substitution
    
    Výstup: ash:
    Syntax error: Bad substitution
    
    24.7.2010 08:52 komentator
    Rozbalit Rozbalit vše Re: BASH a práce s řetězci
    Preco to robit nejakym vacsinou nefunkcnym riesenim, ked tu mame sed? Co som skusal, tak ten funguje vsade rovnako, take sed -e 's/*/-hviezdicka-/g' by nemalo robit problem ziadnemu sedu a je kazdemu hned jasne, aky to da vysledok.
    24.7.2010 12:23 Stanislav Brabec | skóre: 45
    Rozbalit Rozbalit vše Re: BASH a práce s řetězci
    Ani sed není přenositelný. Znak * je speciální znak a ve vašem výrazu to může znamenat i chybu: znaku * nepředchází výraz (\* by ale mohlo fungovat všude), \| může, ale nemusí fungovat, způsob, jak zapnout syntaxi pro rozšířené regulární výrazy, se také liší (-E, -r). Chování některých implementací se liší podle LANG. Stálo mne to docela dost práce, než jsem odladil několikařádkový sed program tak, aby fungoval v GNU-Linux, FreeBSD, Windows i Solarisu.

    Navíc každé volání jednoduchého sedu znamená zpomalení skriptu (někdy i o několik řádů). Pokud je celý program v shellu, je lepší napsat i výraz v shellu.
    23.7.2010 13:41 Aktuator
    Rozbalit Rozbalit vše Re: BASH a práce s řetězci
    Voni ty skripty jsou stejně jenom taková nedomrlá šmejďárna. Na normální nativní exáč to nemá.
    23.7.2010 15:44 Mti. | skóre: 29 | blog: Mti
    Rozbalit Rozbalit vše Re: BASH a práce s řetězci
    To jako sardinky s otvirakem uvnitr?
    Vidim harddisk mrzuty, jehoz hlava plotny se dotyka...
    23.7.2010 15:35 Ondrej 'SanTiago' Zajicek
    Rozbalit Rozbalit vše Re: BASH a práce s řetězci
    Pokud nekdo strka mezeru do jmena adresare, dobre mu tak! :–)
    23.7.2010 15:45 imploder | skóre: 10
    Rozbalit Rozbalit vše Re: BASH a práce s řetězci
    UNIX umožňuje používat v názvech souborů jakékoliv znaky kromě '/'. Prostě dám proměnnou do uvozovek a hotovo.
    23.7.2010 18:42 l4m4
    Rozbalit Rozbalit vše Re: BASH a práce s řetězci
    Kromě / a NUL.

    Nicméně postup prostě dám proměnnou do uvozovek funguje pouze v případě, kdy vím, že proměnná obsahuje jednu cestu a pouze tuto jednu cestu, což je většinou situace, kdy už byly skutečné problémy s expanzí vyřešeny a jsem de facto hotov...
    23.7.2010 18:55 imploder | skóre: 10
    Rozbalit Rozbalit vše Re: BASH a práce s řetězci
    To už ale pak není problém shellu, ale toho, co parsuje obsah té proměnné, ne? (pokud jsou v ní cesty oddělené třeba dvojtečkou)
    23.7.2010 18:55 Ondrej 'SanTiago' Zajicek
    Rozbalit Rozbalit vše Re: BASH a práce s řetězci
    To ze neco jde pouzivat jeste neznamena, ze to je rozumny napad. Jadro UNIXu to sice umoznuje, ale i zakladni shell a nastroje na to nejsou dobre prizusobene. Staci se podivat na standardni kombinaci find a xargs - ty si bez GNU extensions na jmenech obsahujicich newline vylamou zuby.
    23.7.2010 18:58 imploder | skóre: 10
    Rozbalit Rozbalit vše Re: BASH a práce s řetězci
    Lepší by bylo to rovnou zakázat, ať to pak nefunguje pokaždé jinak.

    Založit nové vláknoNahoru


    ISSN 1214-1267   Powered by Hosting 90 Server hosting
    © 1999-2012 Argonit s. r. o. Všechna práva vyhrazena.