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

    Byla vydána verze 11.0 s kódovým jménem Aramo linuxové distribuce Trisquel GNU/Linux. Založena je na Ubuntu 22.04 LTS a podporována bude do roku 2027. Trisquel patří mezi svobodné distribuce doporučované Nadací pro svobodný software (FSF).

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | IT novinky

    Mozilla založila startup Mozilla.ai a vložila do něj 30 milionů dolarů. Cílem je vývoj důvěryhodné, nezávislé a open source AI.

    Ladislav Hagara | Komentářů: 2
    včera 16:33 | Nová verze

    Po půl roce vývoje od vydání verze 43 bylo vydáno GNOME 44 s kódovým názvem Kuala Lumpur. Přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře. Krátké představení na YouTube.

    Ladislav Hagara | Komentářů: 7
    včera 13:33 | IT novinky

    Letošní Turingovou cenu (2022 ACM A.M. Turing Award) získal Bob Metcalfe za vynalezení, standardizaci a komercializaci Ethernetu.

    Ladislav Hagara | Komentářů: 0
    včera 07:00 | Nová verze

    Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána ve verzi 5.1. Přehled novinek i s náhledy v oficiálním oznámení a na GitHubu.

    Ladislav Hagara | Komentářů: 0
    21.3. 18:22 | Nová verze

    Byla vydána Java 20 / JDK 20. Nových vlastností (JEP - JDK Enhancement Proposal) je 7. Nová Java / JDK vychází každých 6 měsíců. LTS verze je 17.

    Ladislav Hagara | Komentářů: 3
    21.3. 16:44 | IT novinky

    Google spustil konverzační AI Bard. Vyzkoušet lze zatím pouze ve Spojených státech a Spojeném království. Více v Bard FAQ.

    Ladislav Hagara | Komentářů: 2
    21.3. 14:22 | Bezpečnostní upozornění

    David Buchanan na svém blogu rozebírá zranitelnost acropalypse (CVE-2023-21036) telefonů Google Pixel. Z výřezu (crop) snímku obrazovky vytvořeného integrovanou aplikací Markup může být možné částečné obnovení původního snímku obrazovky. Viz tweet Simona Aaronse. Vyzkoušet lze webovou aplikaci acropalypse.app. Opraveno v březnové aktualizaci.

    Ladislav Hagara | Komentářů: 3
    21.3. 08:00 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Gitea (Wikipedie) byla vydána v nové verzi 1.19.0. Přehled novinek i s náhledy v příspěvku na blogu. Kvůli "převzetí Gitei" společností Gitea Limited byl v prosinci loňského roku představen fork Gitei s názvem Forgejo (Codeberg).

    Ladislav Hagara | Komentářů: 0
    21.3. 07:00 | Nová verze

    Byla vydána nová verze 5.11 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Nově je používán zram. Tor Browser byl aktualizován na verzi 12.0.4. Thunderbird na verzi 102.9.0.

    Ladislav Hagara | Komentářů: 0
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (10%)
    Celkem 286 hlasů
     Komentářů: 1, poslední 6.3. 07:51
    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: 537×

    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: 68 | 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: 68 | 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.