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

    Společnost Jolla spustila kampaň na podporu svého nového telefonu Jolla Phone se Sailfish OS. Dodání je plánováno na první polovinu příštího roku. Pokud bude alespoň 2 000 zájemců. Záloha na telefon je 99 €. Cena telefonu v rámci kampaně je 499 €.

    Ladislav Hagara | Komentářů: 10
    včera 15:11 | IT novinky

    Netflix kupuje Warner Bros. včetně jejích filmových a televizních studií HBO Max a HBO. Za 72 miliard dolarů (asi 1,5 bilionu korun).

    Ladislav Hagara | Komentářů: 1
    včera 14:11 | IT novinky

    V Las Vegas dnes končí pětidenní konference AWS re:Invent 2025. Společnost Amazon Web Services (AWS) na ní představila celou řadu novinek. Vypíchnout lze 192jádrový CPU Graviton5 nebo AI chip Trainium3.

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

    Firma Proxmox vydala novou serverovou distribuci Datacenter Manager ve verzi 1.0 (poznámky k vydání). Podobně jako Virtual Environment, Mail Gateway či Backup Server je založená na Debianu, k němuž přidává integraci ZFS, webové administrační rozhraní a další. Datacenter Manager je určený ke správě instalací právě ostatních distribucí Proxmox.

    |🇵🇸 | Komentářů: 6
    4.12. 23:44 | Nová verze

    Byla vydána nová verze 2.4.66 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 5 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    4.12. 14:00 | IT novinky

    Programovací jazyk JavaScript (Wikipedie) dnes slaví 30 let od svého oficiálního představení 4. prosince 1995.

    Ladislav Hagara | Komentářů: 0
    4.12. 04:22 | Bezpečnostní upozornění

    Byly zveřejněny informace o kritické zranitelnosti CVE-2025-55182 s CVSS 10.0 v React Server Components. Zranitelnost je opravena v Reactu 19.0.1, 19.1.2 a 19.2.1.

    Ladislav Hagara | Komentářů: 3
    4.12. 02:44 | Komunita

    Bylo rozhodnuto, že nejnovější Linux 6.18 je jádrem s prodlouženou upstream podporou (LTS). Ta je aktuálně plánována do prosince 2027. LTS jader je aktuálně šest: 5.10, 5.15, 6.1, 6.6, 6.12 a 6.18.

    Ladislav Hagara | Komentářů: 0
    4.12. 02:22 | Nová verze

    Byla vydána nová stabilní verze 3.23.0, tj. první z nové řady 3.23, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    3.12. 18:11 | Nová verze

    Byla vydána verze 6.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (22%)
     (15%)
     (25%)
     (16%)
     (18%)
    Celkem 432 hlasů
     Komentářů: 18, poslední 2.12. 18:34
    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: 580×

    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.