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í
×

    dnes 17:11 | Bezpečnostní upozornění

    Zero Day Initiative zveřejnila informace o 6 bezpečnostních chybách (1, 2, 3, 4, 5, 6) v MTA Exim. Nejvážnější z nich CVE-2023-42115 má CVSS 9.8. Na opravě chyb se pracuje.

    Ladislav Hagara | Komentářů: 4
    dnes 16:33 | Bezpečnostní upozornění

    Knihovna libvpx byla vydána ve verzi 1.13.1. Řešena je kritická bezpečnostní chyba CVE-2023-5217 (heap buffer overflow in vp8 encoding). Chyba je již opravena také v Chrome / Chromium 117.0.5938.132 a Firefoxu 118.0.1.

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

    Balíček kmod s nástroji pro práci s linuxovými moduly byl vydán ve verzi 31. Nově umí modprobe zavést modul nacházející se v libovolném adresáři (# modprobe ./drivers/gpu/drm/i915/i915.ko).

    Ladislav Hagara | Komentářů: 0
    včera 23:11 | IT novinky

    Adventura Trüberbrook je na portále GOG.com zdarma, akce trvá do 2. října.

    Fluttershy, yay! | Komentářů: 0
    včera 12:44 | Nová verze

    Sound Open Firmware, projekt Linux Foundation, open source audio DSP firmware a SDK, byl vydán ve verzi 2.7.0. Z novinek lze vypíchnout podporu platformy AMD Van Gogh.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | Komunita

    Richard Stallman v den oslav 40. výročí GNU oznámil, že má rakovinu (YouTube).

    Ladislav Hagara | Komentářů: 38
    včera 08:00 | Zajímavý projekt

    DIY trackball Ploopy novou variantu Adept, na rozdíl od předchozích používá 44mm kouli, má symetrický tvar a šest tlačítek, snímač zůstává PMW-3360, novinkou je použití Raspberry Pi Pico, na kterém běží firmware QMK s podporou grafické konfigurační aplikace VIA. Předobjednávky jsou otevřeny za ceny 80-105 CAD.

    Fluttershy, yay! | Komentářů: 0
    28.9. 15:22 | IT novinky

    Probíhá Meta Connect 2023. Společnost Meta představuje své novinky v oblasti AI a virtuální, smíšené a rozšířené reality. Představeny byly nové chytré brýle Ray-Ban | Meta a headset Meta Quest 3.

    Ladislav Hagara | Komentářů: 0
    28.9. 12:00 | IT novinky

    Eben Upton oficiálně představil (YouTube) nové Raspberry Pi 5 (YouTube). Je více než 2x výkonnější než jeho předchůdce, model 4B.

    Ladislav Hagara | Komentářů: 12
    28.9. 08:00 | Nová verze

    Byl vydán (YouTube) Counter-Strike 2. Nativně také pro Linux. Jedná se o největší technologický skok v historii této populární herní série.

    Ladislav Hagara | Komentářů: 13
    Knihy s linuxovou tematikou
     (19%)
     (15%)
     (51%)
     (27%)
    Celkem 280 hlasů
     Komentářů: 11, poslední 17.9. 19:19
    Rozcestník

    Dotaz: Bash příkaz na hledání části kodu

    10.10.2014 09:54 BMWdejf
    Bash příkaz na hledání části kodu
    Přečteno: 312×
    Zdravím všechny, potřeboval bych pomoct s bash příkazem, který by prohledával soubory s určitou příponou třeba "*.less" a v případě, že by v něm našel část mnou hledaného kódu vypsal mi jen cestu k danému souboru kde část kódu je.

    Věřím, že pro někoho to bude hračka napsat tento jednoduchý příkaz.

    Odpovědi

    10.10.2014 10:04 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Bash příkaz na hledání části kodu
    Mrkni na

    man grep - parametry pro nastavení způsobu výpisu výsledků

    man find - věci kolem parametru name a exec

    Pokud jsou soubory jen v jednom adresáři, můžeš jen použít globbing (tj. *.less) pro grep bez findu

    Příp. pokud ti nevadí, že grep bude hledat vše, můžeš prohledat vše přes rgrep a jím vypisované soubory vyfiltrovat (grep za rourou) přes koncovku .less.

    Spoustu různých cest a když se s nimi seznámíš, než příště napíšeš text to poradny, budeš mít výsledek několikrát hotový.
    10.10.2014 11:44 Sten
    Rozbalit Rozbalit vše Re: Bash příkaz na hledání části kodu
    find adresář -name '*.less' -exec grep -q 'kód' {} \; -print
    10.10.2014 12:13 BMWdejf
    Rozbalit Rozbalit vše Re: Bash příkaz na hledání části kodu
    super skvělé Sten :) to jsem přesně potřeboval já jsem si sice napsal něco podobného find -type f -name "*.less" | egrep -lr "kód" adresář

    což mi taky fungovalo ale tvůj kód je mnohem lepší :)

    Díky
    10.10.2014 17:41 rws
    Rozbalit Rozbalit vše Re: Bash příkaz na hledání části kodu
    A jako vzdy na Linux plati TIMTOWTDI, ja pouzivam radeji:

    find DIR -name '*.less' -type f -print0 | xargs -0r grep ....

    na rozdil od -exec grep spousti xargs ten grep s vetsim mnozstvim nalezenych souboru najednou, kdezto -exec grep spousti pokazde novy grep s tim jednim nalezenym souborem.
    10.10.2014 17:53 Andrej | skóre: 50 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Bash příkaz na hledání části kodu

    Vždyť se to dá snadno vyřešit takto:

    find adresář -name '*.less' -exec grep -q 'kód' {} + -print

    Nechápu, proč je u příkazu find pořád v módě středník, ač v 99% případů ve skutečnosti chcete použít plus.

    10.10.2014 12:27 Filip Jirsák
    Rozbalit Rozbalit vše Re: Bash příkaz na hledání části kodu
    Pokud nepotřebujete procházet podadresáře, stačí:
    grep -l 'vzor' *.less
    Pokud chcete hledat i v podadresářích, dalo by se v zsh použít toto, nevím, zda něco takového umí i bash:
    grep -l 'vzor' **/*.less
    A nebo pak použít find, jak už bylo napsáno. Nebo v případě, kdy by těch souborů bylo moc a příkazová řádka grepu po rozbalení žolíků shellem moc dlouhá.
    10.10.2014 12:32 Ilmarinen | skóre: 8 | blog: Mizantropův depresivní kout | Kalevala
    Rozbalit Rozbalit vše Re: Bash příkaz na hledání části kodu
    Rekurzivní grep (přepínač -r) s číslováním řádků výskytu (-n)

    [ilmarinen@kalevala ~]$ grep -nr --include "*.less" hledany_string
    directory/test2.less:1:hledany_string
    test.less:1:hledany_string
    10.10.2014 12:37 Ilmarinen | skóre: 8 | blog: Mizantropův depresivní kout | Kalevala
    Rozbalit Rozbalit vše Re: Bash příkaz na hledání části kodu
    Jestli chceš vypsat jen cestu k souboru, tak
    
    [ilmarinen@kalevala ~]$ grep -rl --include "*.less" hledaný_string
    directory/test2.less
    test.less
    
    
    wamba avatar 11.10.2014 01:12 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: Bash příkaz na hledání části kodu
    já bych použil ack (někde se to jmenuje ack-grep)
    ack  -l 'code' --less
    
    This would have been so hard to fix when you don't know that there is in fact an easy fix.

    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.