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 14:33 | Zajímavý software

    Do 30. května lze v rámci akce Warhammer Skulls 2024 získat na Steamu zdarma hru Warhammer 40,000: Gladius - Relics of War.

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

    HelenOS (Wikipedie), tj. svobodný operační systém českého původu založený na architektuře mikrojádra, byl vydán ve verzi 0.14.1. Přehled novinek v poznámkách k vydání. Vypíchnou lze nabídku Start. Videopředstavení na YouTube.

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

    BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.05. Přehled novinek i s náhledy a videi v oficiálním oznámení. Do balíku se dostalo 5 nových aplikací: Audex, Accessibility Inspector, Francis, Kalm a Skladnik.

    Ladislav Hagara | Komentářů: 2
    včera 12:55 | Nová verze

    Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    22.5. 23:44 | Pozvánky

    V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    22.5. 16:33 | Nová verze

    Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.

    Ladislav Hagara | Komentářů: 0
    22.5. 14:11 | IT novinky

    Společnost Jolla na akci s názvem Jolla Love Day 2 - The Jolla comeback představila telefon se Sailfish OS 5.0 Jolla Community Phone (ve spolupráci se společností Reeder) a počítač Jolla Mind2 Community Edition AI Computer.

    Ladislav Hagara | Komentářů: 11
    22.5. 12:33 | Nová verze

    LibreOffice 24.8 bude vydán jako finální v srpnu 2024, přičemž LibreOffice 24.8 Alpha1 je první předběžnou verzí od začátku vývoje verze 24.8 v prosinci 2023. Od té doby bylo do úložiště kódu odesláno 4448 commitů a více než 667 chyb bylo v Bugzille nastaveno jako opravené. Nové funkce obsažené v této verzi LibreOffice najdete v poznámkách k vydání.

    ZCR | Komentářů: 0
    21.5. 23:33 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 141 (pdf) a HackSpace 78 (pdf).

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (82%)
     (4%)
     (7%)
     (7%)
    Celkem 523 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    Dotaz: vypis jen casti souboru

    28.3.2005 23:11 nick
    vypis jen casti souboru
    Přečteno: 184×
    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.