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:55 | Nová verze

    Byla vydána první veřejná preview verze PrusaSliceru 3.0. Přesně 15 let po zveřejnění první verze Slic3ru, které připadlo na 1. září 2011. Jedná se o dosud největší upgrade PrusaSliceru: "Řídili jsme se tím, co skutečně potřebujete, a tak jsme například zcela zahodili stávající uživatelské rozhraní a vytvořili ho znovu od nuly. Přinášíme také nový systém projektů, kompletně přepracované profily navržené pro moderní tiskárny s větším

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 15:55 | Nová verze

    Byl vydán Mozilla Firefox 155.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Vypíchnout lze Smart Window, zatím ale dostupné pouze pro uživatele v USA, Kanadě a Francii. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 155 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | IT novinky

    Tima Cooka na pozici generálního ředitele společnosti Apple dnešním dnem nahradil John Ternus, který byl dosud odpovědný za hardware. Tim Cook vedl Apple od roku 2011, kdy funkci převzal od později zesnulého spoluzakladatele společnosti Stevea Jobse. Za 15 let v čele Applu více než zdvojnásobil tržní hodnotu firmy.

    Ladislav Hagara | Komentářů: 1
    včera 11:00 | Pozvánky

    Organizátoři konference LinuxDays ukončil veřejné přihlašování přednášek. Teď je na vás, abyste vybrali nejlepší témata pro letošní ročník. Hlasovat můžete do pondělí 7. září, poté bude podle výsledků hlasování sestaven program pro letošní ročník.

    Petr Krčmář | Komentářů: 4
    včera 10:55 | Nová verze

    Servo, engine webového prohlížeče napsaný v Rustu, byl vydán ve verzi 0.5.0. Novinky shrnuje přehled projektu za červenec. Došlo k dalšímu pokroku ve vykreslování webových stránek. Současným cílem projektu je vytvořit komponentu webového prohlížeče jako WebView pro použití v jiných aplikacích.

    |🇵🇸 | Komentářů: 1
    včera 10:44 | IT novinky

    IKEA a XBOX představují kolekci YXSTABY (pdf). Ta přináší designová a praktická řešení, díky nimž se prostor pro hraní během sekundy promění v útulný a harmonický domov.

    Ladislav Hagara | Komentářů: 2
    včera 02:00 | Nová verze

    Jonathan Thomas oznámil vydání verze 4.0 nelineární střižny OpenShot. Nově podporuje nahrávání obrazu a zvuku, vylepšuje uživatelské rozhraní, mj. color grading, přidává další efekty a mnoho dalšího (seznam změn).

    |🇵🇸 | Komentářů: 0
    31.8. 17:22 | Komunita

    Proběhlo hlasování o používání LLM při vývoji Debianu. Vývojáři Debianu si odhlasovali zodpovědné využívání generativní umělé inteligence.

    Ladislav Hagara | Komentářů: 2
    31.8. 16:11 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří vývoj Flatpaku částkou 508 640 eur.

    Ladislav Hagara | Komentářů: 0
    31.8. 15:55 | Zajímavý software

    Byla vydána první veřejná verze v7.0-mk2 projektu Multikernel (mklinux), který umožňuje spouštět více nezávislých linuxových jader současně na jednom stroji bez hypervizoru.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (19%)
     (29%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2533 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Jak přesměrovat -exec ve find

    3.4.2009 10:22 ondra
    Jak přesměrovat -exec ve find
    Přečteno: 765×

    Ahoj.

    Je možné nějak přesměrovat výstup příkazu volaného v -exec příkazu find? Potřebuji něco jako

    find . -name 'nejaka maska' -exec sed -e 'neco' {} > vystup.sedu \;

    Pokud vím, tak sedu nemůžu vnutit jméno výstupního souboru.

    Díky.

     

    Odpovědi

    3.4.2009 10:36 l4m4
    Rozbalit Rozbalit vše Re: Jak přesměrovat -exec ve find
    find . -name 'nejaka maska' -print0 | xargs -0 sed -s -e 'neco' >vystup.sedu
    3.4.2009 10:37 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Jak přesměrovat -exec ve find
    Myslím, že to nepotřebujete. Stačí
    find . -name 'nejaka maska' -exec sed -e 'neco' {}  \; > vystup.sedu
    
    Ale pokud byste to opravdu chtěl udělat, jak píšete (přesměrování uvnitř findu), spusťte v -exec nový shell. Něco nazpůsob
    find . -name 'nejaka maska' -exec /bin/bash -c sed -e 'neco' {} > vystup.sedu  \;
    
    3.4.2009 10:51 l4m4
    Rozbalit Rozbalit vše Re: Jak přesměrovat -exec ve find
    Jelikož {} se ve výrazu -exec může objevit právě jednou, a to už jsme vyplýtvali na argument sedu, je vystup.sedu konstanta výrazu. Takže ji lze vytknout a nespouštět zbytečné procesy...

    Další rozdíl tohoto a mého řešení je, že mně to zapíše výstup zpracování všech nalezených souborů, toto akorát z toho posledního nalezeného...
    3.4.2009 10:52 ondra
    Rozbalit Rozbalit vše Re: Jak přesměrovat -exec ve find

    Díky za rady. Asi jsem to špatně popsal. Potřebuji přesměrovat každý sed zvlášť. Něco jako

    find . -name 'nejaka maska' -exec sed -e 'neco' {} > {}.out \;

     

    3.4.2009 11:03 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Jak přesměrovat -exec ve find
    Pokud jsou ty soubory rozumně pojmenované, nebyl by jednodušší normální while read cyklus... - něco jako
    fine . ... | while read fname; do
       sed -e 'neco' "$fname" >"$fname.out";
    done
    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    3.4.2009 11:13 ondra
    Rozbalit Rozbalit vše Re: Jak přesměrovat -exec ve find

    Toto bude asi pro mě nejschůdnější. Díky moc.

    David Watzke avatar 3.4.2009 14:27 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Jak přesměrovat -exec ve find
    V tomhle případě můžou bejt soubory pojmenovaný i docela nerozumně a stejně to bude fungovat.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    3.4.2009 14:57 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Jak přesměrovat -exec ve find
    i docela nerozumně
    Ale spolehlivě to rozhodí znak nového řádku v názvu (a bohužel jsem zažil i takhle pojmenované soubory)...
    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    David Watzke avatar 3.4.2009 15:23 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Jak přesměrovat -exec ve find
    Aha, no tak taková zhovadilost pak už ovšem rozhodí ledacos.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    3.4.2009 15:49 l4m4
    Rozbalit Rozbalit vše Re: Jak přesměrovat -exec ve find
    Když už, tak už. find -print0 | xargs -0 prostě funguje. Nač vymýšlet blbosti...
    David Watzke avatar 3.4.2009 15:53 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Jak přesměrovat -exec ve find
    Jo, funguje, ale v tomhle případě je to celkem k ničemu, protože tím nevyřešíš to co chce tazatel.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    3.4.2009 11:08 l4m4
    Rozbalit Rozbalit vše Re: Jak přesměrovat -exec ve find
    Viz moji předchozí odpověď o jediném {}. Spuštěný příkaz musí tedy být něco, co vezme vstup a vytvoří automaticky jinak pojmenovaný výstup (a v tom případě nejlépe libovolné množství vstupních argumentů a použít xargs, ze stejného důvodu jako výše).

    Pak ještě lze požít kluge typu

    IFS=$'\n'; for x in $(find ...); do něco s $x; done
    3.4.2009 11:21 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Jak přesměrovat -exec ve find
    Tak si ty příkazy, které píšete za --exec, přepište do nějakého skriptu a z findu spouštějte ten.

    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.