abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 22:22 | IT novinky

    Na základě DMCA požadavku bylo na konci dubna z GitHubu odstraněno 8535 repozitářů se zdrojovými kódy open source emulátoru přenosné herní konzole Nintendo Switch yuzu.

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

    Webový prohlížeč Dillo (Wikipedie) byl vydán ve verzi 3.1.0. Po devíti letech od vydání předchozí verze 3.0.5. Doména dillo.org již nepatří vývojářům Dilla.

    Ladislav Hagara | Komentářů: 0
    včera 15:00 | Komunita

    O víkendu probíhá v Bostonu, a také virtuálně, konference LibrePlanet 2024 organizovaná nadací Free Software Foundation (FSF).

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Nová verze

    Nová vývojová verze Wine 9.8 řeší mimo jiné chybu #3689 při instalaci Microsoft Office 97 nahlášenou v roce 2005.

    Ladislav Hagara | Komentářů: 0
    3.5. 13:11 | Nová verze

    Coppwr, tj. GUI nástroj pro nízkoúrovňové ovládání PipeWire, byl vydán v nové verzi 1.6.0. Zdrojové kódy jsou k dispozici na GitHubu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    2.5. 22:33 | Nová verze

    Byla vydána dubnová aktualizace aneb nová verze 1.89 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Vypíchnout lze, že v terminálu lze nově povolit vkládání kopírovaného textu stisknutím středního tlačítka myši. Ve verzi 1.89 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 28
    2.5. 21:22 | Nová verze

    Proton, tj. fork Wine integrovaný v Steam Play a umožňující v Linuxu přímo ze Steamu hrát hry určené pouze pro Windows, byl vydán ve verzi 9.0-1 (𝕏). Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled her pro Windows běžících díky Protonu také na Linuxu na stránkách ProtonDB.

    Ladislav Hagara | Komentářů: 2
    2.5. 19:33 | Nová verze

    Byla vydána verze 1.78.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    2.5. 11:22 | Bezpečnostní upozornění

    Služba Dropbox Sign (původně HelloSign) pro elektronické podepisování smluv byla hacknuta.

    Ladislav Hagara | Komentářů: 3
    2.5. 11:00 | Nová verze

    Byla vydána nová major verze 8.0 textového editoru GNU nano (Wikipedie). Podrobný přehled novinek a oprav v oznámení v diskusním listu info-nano nebo v souboru ChangeLog na Savannah. Volbou --modernbindings (-/) lze povolit "moderní" klávesové zkratky: ^C kopírování, ^V vložení, ^Z vrácení zpět, … Tato volba je aktivována také pokud binárka s nano nebo link na ni začíná písmenem "e".

    Ladislav Hagara | Komentářů: 4
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (9%)
     (15%)
     (12%)
    Celkem 98 hlasů
     Komentářů: 8, poslední včera 08:25
    Rozcestník

    Dotaz: Echo s mezerami

    24.3.2009 19:10 LorD_OniX
    Echo s mezerami
    Přečteno: 338×

    Ahoj, mam skipt:

    - ocekava na svem vstupu cteni z stdin, takze mu posleme pres cat libovolny soubor

    - tento skript tento soubor zpracovava

    - v tomto skriptu jsem si dal cteni toho souboru po radcich, syntax:

    while read line

    do

        echo "$line"

    done

    - toto funguje skvele (vstupem jsou data vstupniho souboru), ale echo ma jednu nezadouci vlastnost a tu, ze

    kdyz je ve vstupnim souboru na radku libovolny pocet mezer nasledovany textem, echo nikdy tyto mezery nevypise a vypise

    radek az od prvniho vyskytu textu. Potreboval bych proto od vas kdo mate dobre zkusenosti s bashem, jak byste v cyklu resili

    postupne prochazeni souboru po radcich a aby to vypisovalo i tyto mezery, popripade nejak to implementovat do toho cyklu

    co jsem napsal ja. Predem moc dekuji

    Odpovědi

    24.3.2009 19:34 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Echo s mezerami
    ale echo ma jednu nezadouci vlastnost a tu, ze kdyz je ve vstupnim souboru na radku libovolny pocet mezer nasledovany textem, echo nikdy tyto mezery nevypise a vypise
    Problém není u echo, ale u read, který přeskočí počáteční mezery.
    a aby to vypisovalo i tyto mezery
    To záleží, co s tím chcete dál dělat - nestačilo by to řešit rourou/použít AWK/...
    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    24.3.2009 19:37 LorD_OniX
    Rozbalit Rozbalit vše Re: Echo s mezerami

    Dekuji moc za tu vasi odpoved. Ja bych potreboval to nejak nacitat ( nejlepe po radcich), abych tyto radky mohl zpracovavat ci upravovat. A prave potrebuji aby

    to nacitalo do nejake promenne i ty mezery, ktere jak jste rekl funkce read orezava. Bohuzel nevim jak pres rouru to resit. Pres awk taky nevim, ja

    uz mam napsany cely skript v bashi a jenom bych potreboval si tam nejak vlozit tuto funkci do promenne abych s ni mohl dale pracovat. Pokud ale mate

    lepsi napad, napiste, budu moc rad.

    24.3.2009 19:45 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Echo s mezerami
    abych tyto radky mohl zpracovavat ci upravovat

    Kupodivu :-). Jde o to, co s nimi chcete dělat.

    Pokud ale mate lepsi napad, napiste, budu moc rad.

    Jeden bych měl - nezalamujte řádky, pokud nekončí odstavec. Díky

    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    24.3.2009 23:09 deadmail
    Rozbalit Rozbalit vše Re: Echo s mezerami
    Da sa zmenit oddelovac v bashi.

    Takze pred cyklus while nastavit napr. IFS="@". Potom uz medzery na zaciatku nacita v poriadku - fungovat to bude ale len ak na zaciatku ziadneho riadku nie je zavinac(@).

    Treba zvolit znak, ktory sa urcite v subore nenachadza ako prvy znak v riadku.
    25.3.2009 18:24 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Echo s mezerami
    Viděl bych jako rozumné jako oddělovač zvolit právě znak pro nový řádek, místo obvyklá svaté trojice LF,TAB,SPACE...
    while IFS="^M" read line; do
      echo "$line";
    done < soubor.txt
    
    ^M lze vložit buď ctrl+v + enter, nebo prostě
    bash$ while IFS="
    > " read line; do echo "$line"; done < a.txt
    
    nebo ve skriptu
    while IFS="
    " read line; do
      echo "$line";
    done < a.txt
    No a někdy když řádek nepotřebujete dělit se hodí i to $REPLY níže.
    24.3.2009 23:14 deadmail
    Rozbalit Rozbalit vše Re: Echo s mezerami
    nasiel som aj druhu moznost v bashi:
    while read
    do
        echo "$REPLY"
    done
    
    kozzi avatar 24.3.2009 23:44 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Echo s mezerami
    Doporucuju pouzit gawk (awk nee nejelo by ti to na adele ;-)). Jinak já osobně sem třetí část projektu napsal na jeden řádke v sedu, ale takovou prasárnu svět ještě neviěl :-D
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    25.3.2009 17:46 LorD_OniX
    Rozbalit Rozbalit vše Re: Echo s mezerami

    Taky jsem videl u kamose jednou velkou rouru se sedem. Zkusil jsem ten field separator a funguje to, strasne moc diky. Nenapadla me takovato vec. Pokud jeste muzete odpoved, tak se me podarilo prepsat tento skript awk, ale zarazil jsem se u jedne veci:

     

    cat soubor | awk '

    /libovolny reg. vyraz/ {

     #prikazy

    a tady v tomto miste bych potreboval z promenne $0 vypsat text, ktery bych nejak upravil pres regularni vyraz. Jenze kdyz napisu

    /libovolny reg. vyraz/ { print }, tak bash hodi chybu, protoze tato syntaxe neni dovolena

    mam knizku s awk a nic jsem tam na tento zpusob nenasel nebo kdyby do promenne sel ulozit reg. vyraz

    umim delat hodne jenom v sedu a nevim jestli ma awk neco taky na substuci, abych si mohl s toho reg. vyrazu vytahnout co potrebuju

    }

    Diky moc za odpovedi a za predesle rady :)

    '

    25.3.2009 18:39 LorD_OniX
    Rozbalit Rozbalit vše Re: Echo s mezerami

    Uz jsem na to prisel, posledni vec uz je jenom jak nahradit znaky < > & za sve html ekvivalenty:

    gsub("&","&amp;") funguje
    gsub(">","&gt;") tyto dva nefunguji, kdyz jsem pouzil escape sekveni \&gt; napr, tak bash hodi warning  warning: escape sequence `\&' treated as plain `&'
    gsub("<","&lt;")

    Diky moc za rady.

    26.3.2009 10:03 deadmail
    Rozbalit Rozbalit vše Re: Echo s mezerami

    mne to funguje takto:

    awk '{gsub(/&/, "\\&amp;");
    gsub(/</, "\\&lt;");
    gsub(/>/, "\\&gt;");
    print}' subor
    
    

    upravene podla www.delorie.com/gnu/docs/gawk/gawk_136.html .

    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.