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í
×
    KDE Plasma 6
     (72%)
     (9%)
     (2%)
     (17%)
    Celkem 751 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: awk FS jako re

    6.8.2008 15:41 Terka | skóre: 13
    awk FS jako re
    Přečteno: 368×
    mam datum
    25.03.2005 12:32:15 6
    chci prohazet den, rok, mesic...  pomoci AWK tj. FS ma byt dvojtecka, mezera, tecka
    
    cat datum|awk ' FS=":|\\.| " {print $3" "$2" "$1" "$4}'
    
    proc je nutno tecku eskejpovat 2x?
    \\. 
    

    Odpovědi

    6.8.2008 16:06 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: awk FS jako re
    Když to zkusím:
    $ echo 1.2 | awk 'FS="\." {print $1}'
    awk: warning: escape sequence `\.' treated as plain `.'
    1.2
    Vypadá to, že i awk sám dělá nějaké unescapování vstupu a až pak výsledek začne zpracovávat např. jako regulární výraz.
    7.8.2008 12:14 Jan Šimák | skóre: 37 | Hradec Králové
    Rozbalit Rozbalit vše Re: awk FS jako re
    Výše uvedený příkaz vám funguje a vrací to co požadujete? Konkrétně mě vrátí toto: 6 12:32:15 25.03.2005
    #!/usr/bin/gawk -f
    BEGIN {FS = "."}
    {
    den = $1 ; mesic = $2 ; rok = substr($3,0,4) ; zbytek = substr($3,6)
    print rok mesic den, zbytek
    }
    12.8.2008 16:40 Terka | skóre: 13
    Rozbalit Rozbalit vše Re: awk FS jako re
    jo ted na to koukam je to tak.
    12.8.2008 04:47 luky
    Rozbalit Rozbalit vše Re: awk FS jako re
    awk -F '[.: ]' '{print $3" "$2" "$1" "$4}'
    12.8.2008 17:37 Terka | skóre: 13
    Rozbalit Rozbalit vše Re: awk FS jako re
    dobre, otazka zni, zda tam jde dat libovolny RE, nejen vycet znaku

    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.