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 18:11 | IT novinky

    Společnost IBM představila novou generaci svých serverů: IBM Power11.

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

    Multiplatformní digitální pracovní stanice pro práci s audiem Ardour byla postavena na GTK2. Vývojáři neplánovali její portaci na GTK3 nebo GTK4. Naopak, v lednu loňského roku si vytvořili vlastní fork GTK2 s názvem YTK. Ten v únoru letošního roku přestal být volitelným a nově byla zcela odstraněna podpora GTK2.

    Ladislav Hagara | Komentářů: 7
    včera 11:33 | Nová verze

    Byla vydána nová verze 6.4 linuxové distribuce Parrot OS (Wikipedie). Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 11:22 | Pozvánky

    Společnost initMAX pořádá sérii bezplatných webinářů věnovaných novému Zabbixu 7.4. Podrobnosti a registrace na webu initMAX.

    … více »
    Heřmi | Komentářů: 0
    včera 03:44 | Nová verze

    Byla vydána verze 7.0 open source platformy pro správu vlastního cloudu OpenNebula (Wikipedie). Kódový název nové verze je Phoenix. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

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

    E-mailový klient Thunderbird byl vydán ve verzi 140.0 ESR „Eclipse“. Jde o vydání s dlouhodobou podporou, shrnující novinky v upozorněních, vzhledu, správě složek a správě účtů. Pozor, nezaměňovat s průběžným vydáním 140.0, které bylo dostupné o týden dříve.

    Fluttershy, yay! | Komentářů: 14
    7.7. 15:11 | IT novinky

    Organizace Video Games Europe reprezentující vydavatele počítačových her publikovala prohlášení k občanské iniciativě Stop Destroying Videogames.

    Ladislav Hagara | Komentářů: 0
    7.7. 13:22 | IT novinky

    Společnost Raspberry Pi nově nabzí Raspberry Pi Camera Module 3 Sensor Assembly, tj. samostatné senzorové moduly z Raspberry Pi Camera Module 3.

    Ladislav Hagara | Komentářů: 0
    7.7. 13:00 | Nasazení Linuxu

    Cathode Ray Dude v novém videu ukazuje autorádio Empeg Car (později Rio Car) z let 1999–2001. Šlo o jeden z prvních přehrávačů MP3 do auta. Běží na něm Linux. Vyrobeno bylo jen asi pět tisíc kusů, ale zůstala kolem nich živá komunita, viz např. web riocar.org.

    Fluttershy, yay! | Komentářů: 1
    7.7. 02:11 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.7.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (60%)
     (27%)
     (7%)
     (2%)
     (1%)
     (1%)
     (3%)
    Celkem 371 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: vypis jen casti souboru

    28.3.2005 23:11 nick
    vypis jen casti souboru
    Přečteno: 201×
    portreboval bych se souboru s textem vypsat jen jeho cast, ta cast co potrebuji vypsat je ohranicena.

    pro lepsi pochopeni priklad obash souboru:
    tady je nejaky text
    tady je nejaky text
    tady je nejaky text
    tady je nejaky text
    tady je nejaky text
    START
    tady je nejaky text
    tady je nejaky text
    STOP
    tady je nejaky text
    tady je nejaky text
    
    a ja potrebuji vypsat jen ten text co je mezi START a STOP, a nevim jak na to

    zousel jsem seda, ale nejak mi to neslo :(

    jak jsem trapil seda:
    sed -e '1,/START:/d /STOP/,$d' < soubor 
    sed -e '/START/,/STOP/p' < soubor
    
    a jeste mnoho jsem toho zkousel ale radsi uz to sam psat nebudu, jinak me ukamenujete :)

    Odpovědi

    28.3.2005 23:15 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    Včetně značek:

    sed -n '/^START$/,/^STOP$/p' soubor

    bez značek:

    sed '1,/START/d;/STOP/,$d' soubor
    28.3.2005 23:16 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    Jo, sorry, to druhé jsem upravil příliš málo:

    sed '1,/^START$/d;/^STOP$/,$d' soubor
    28.3.2005 23:26 nick
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    moc dekuji

    PS: az tak daleko jsem nebyl :)
    Josef Kufner avatar 28.3.2005 23:25 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    jen tak od boku strelim...
    $vypis = false;
    while (<>) {
      if (/^START$/) {
        $vypis = true;
      } elif (/^STOP$/) {
        $vypis = false
      } elif ($vypis){
        print $_;
      }
    }
    v perlu moc nepisu, takze to asi bude chtit par korektur...
    Hello world ! Segmentation fault (core dumped)
    28.3.2005 23:30 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    Chceš-li nutně použít perl, doporučuji

    s2p '1,/^START$/d' '/^STOP$/,$d' soubor | perl - soubor
    28.3.2005 23:52 nick
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    mam souvisejici problem: kdyz udelam to co jsem mi poradil, a to
    sed '1,/^START$/d;/^STOP$/,$d' soubor
    tak to vse funguje jak ma,

    ale kdyz tento cely prikaz dam jako promenu
    BLEEE=`sed '1,/^START$/d;/^STOP$/,$d' soubor`
    a pak to chci vypsat, tak to sice funguje, ale vsechno mi to vypise na jeden radek, a ne tak jak to bylo na tom puvodnim textu.... nevite proc?
    Marek Bernát avatar 29.3.2005 00:10 Marek Bernát | skóre: 17 | blog: Arcadia
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    man bash
                  $(command)
           or
                  `command`
    
           Bash performs the expansion by executing command and replacing the com-
           mand substitution with the standard output of  the  command,  with  any
           trailing newlines deleted.
    
    physics.stackexchange.com -- Q&A stránky o fyzike v štýle StackOverflow.
    29.3.2005 00:15 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    Chtělo to zřejmě vložit o větu víc:

    Embedded newlines are not deleted, but they may be removed during word splitting.
    Marek Bernát avatar 29.3.2005 00:18 Marek Bernát | skóre: 17 | blog: Arcadia
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    Pravda, ale ja som chcel len poukazat na to, ze mal pouzit man. :-)
    physics.stackexchange.com -- Q&A stránky o fyzike v štýle StackOverflow.
    29.3.2005 00:15 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    Tipoval bych spíš
    man bash
    /^QUOTING
    
    ;-)
    echo "$promenna"
    
    29.3.2005 12:06 nick
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    nechci se vymlouvat na moji malou znalost anglictiny, ale to co jste mi sem dali, mi moc nepomohlo....

    nechcete mi to nejak upresnit?

    nejakej priklad by se hodil... snad bych to i pochopil :)
    29.3.2005 12:17 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    Chceš-li opravdu jednoduchou radu: Nedávej to do proměnné.
    29.3.2005 12:31 nick
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    co na to rict ? :) snad jen to ze by se v tom mem zdrojaku pak nevyznal ani tvurce (coz jsem ja) a to by bylo fakt spatne.

    ja tu jeste jednou ukazu o co se snazim, ok? ok, vsichni souhlasite, tak jdu na to:

    tady je obash souboru data:
    blee
    blee
    START
    ahoj
    cuz
    STOP
    blee
    blee
    
    a ja potrebuju "vykuchat" to ahoj cuz a dat to pozdeji to pouzit v FOR cyklu,

    timto "vykucham" to "ahoj" a "cuz"
    sed '1,/^START$/d;/^STOP$/,$d' soubor
    
    
    a pak potebuju tu promenou vypsat,
    BLEEE=`sed '1,/^START$/d;/^STOP$/,$d' soubor`
    echo $BLEEE
    
    ale tohle mi to vypise:
    vangroff@snehurka:~/do_something > ./exec
    ahoj cuz
    
    ale ja potrebuji aby to vypsalo takhle:
    vangroff@snehurka:~/do_something > ./exec
    ahoj
    cuz
    
    PS: mooc, prosim... poradte! lol
    29.3.2005 12:37 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    sed '1,/^START$/d;/^STOP$/,$d' soubor

    to rovnou vypíše. Proč to potřebuješ v proměnné?
    29.3.2005 12:43 nick
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    potrebuju to dale nekam vypsat (pracovat s tim)

    neco jako:

    SOUBOR=`sed '1,/^START$/d;/^STOP$/,$d' soubor`
    
    for i in $SOUBOR;do
    echo "neco tu je: $i"
    done
    
    chapete? mozna to neni az tak moc srozumitelne, ale ja to proste potrebuji dat do promene.... :)
    29.3.2005 12:48 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    Např.:
    sed ... | while read do ... done
    
    nebo
    sed ... | xargs ...
    
    Prostě do proměnné to nepotřebujete :-)
    29.3.2005 12:56 nick
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    nechci aby to vypadalo jako ze si nechci nechat poradit, ale co kdyz s tim potrebuju nekolikrat pracovat, a hodilo by se (uz kvuli uspore vykonu) a kvuli nejake ty "eleganci" to pouzit jako promenou a pracovat s tou promenou, nebo se to takhle nedela? ja nejsem moc velkej programator, jak asi vidite.. tak fakt nevim, to byl jen muj nazor :)
    Marek Bernát avatar 29.3.2005 12:52 Marek Bernát | skóre: 17 | blog: Arcadia
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    Ale ved twofish ti to uz napisal
    Namiesto $premenna, napises "$premenna", aby sa ti zachovali povodne znaky (o tom je QUOTING).
    physics.stackexchange.com -- Q&A stránky o fyzike v štýle StackOverflow.
    29.3.2005 13:00 nick
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    wow... nojo funguje to, omlouvam se, nejak jsem to prehlidl :) huraaaa
    29.3.2005 13:09 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    Pokud ti to funguje, tak jsi to nejspíš nejpotřeboval dávat do proměnné...
    29.3.2005 13:07 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    To sice ano, ale pak bude mít

    for x in "$variable"; do ...;done

    právě jednu iteraci, při níž bude v $x celá $variable, protože jsi zrušil word splitting.
    29.3.2005 13:20 nick
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    mozna ze jsem to zase az tak moc dobre neudelal, ale pouzil jsem to takto
    DATA=`sed '1,/^START$/d;/^STOP$/,$d' test`
    
    for X in `echo "$DATA"`; do
    a je to tu: $X
    done
    
    a to funguje....

    PS: nebo to je zase spatne? (treba neprogramatorsky) :), programatornejsem , tak to neprogramatorsky muze bejt :)
    29.3.2005 13:25 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    Už ti bylo odpovězeno, že tohle se dělá

    sed '1,/^START$/d;/^STOP$/,$d' file | while read x; do something with $x; done
    29.3.2005 13:41 nick
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    vy me uz asi zabijete :) ale stale mi to nejde....

    nastala zmena, v souboru test je toto:
    neco
    START
    ps aux
    uname -a
    STOP
    neco
    
    ja toho potrebuju vypsat, no spise spustit ten prikaz, a ten jeho vysledek nekam vypsat, nejlepe do souboru ...

    co ted?

    takhle jsem to zkousel ja:
    sed '1,/^START$/d;/^STOP$/,$d' test | while read x; do "$x"; done
    
    to nejde!

    napise to toto:
    vangroff@snehurka:~/do_something > ./exec
    ./exec: line 41: ps aux: command not found
    ./exec: line 41: uname -a: command not found
    
    a to jako vybec nechapu ...
    29.3.2005 13:47 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    Přečti si man bash.

    V tomhle případě bych nevynalézal kolo ale poslal to rovnou shellu:
    sed '1,/^START$/d;/^STOP$/,$d' test | sh
    
    29.3.2005 13:49 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
    Rozbalit Rozbalit vše Re: vypis jen casti souboru
    No tak se vraťte na začátek a přečte si tu sekci v manuálové stránce ještě jednou. HINT: máte tam pro změnu závorky navíc.

    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.