Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: mcer 24. 08. 2020, 22:33:52

Název: Najít text pomocí příkazové řádky
Přispěvatel: mcer 24. 08. 2020, 22:33:52
Zdravím Vás všechny,

poraďte prosím. Chci najít slovo nebo frázi, které se vyskytují v několika různých souborech i v souborech v různých podadresářích. Nejde mi o hledání adresářů nebo souborů, ale o nějaký text v těch souborech. Hledám např. sousloví "můj cíl" v adresáři Domov a ve všem, co je v něm.

Kód: [Vybrat]
../Domov  find ...
Děkuji
Název: Re:Najít text pomocí příkazové řádky
Přispěvatel: Jakub Štech 24. 08. 2020, 22:51:29
Kód: [Vybrat]
grep -r "můj cíl" ~ vypíše všechny výskyty toho sousloví rekurzivně pod ~
Kód: [Vybrat]
grep -ri "můj cíl" ~ totéž, ale navíc case-insensitive

nevýhoda je že pod ~ bude i hromada např. binárních souborů a v těch hledat nechceš, třeba tušíš příponu souboru?

Kód: [Vybrat]
grep "můj cíl" **/*.{txt,md} prohledá všechny *.txt a *.md soubory ve všech podadresářích (** možná jen v zsh? nevím)
Název: Re:Najít text pomocí příkazové řádky
Přispěvatel: _Jenda 25. 08. 2020, 01:03:10
Kód: [Vybrat]
grep "můj cíl" **/*.{txt,md} prohledá všechny *.txt a *.md soubory ve všech podadresářích (** možná jen v zsh? nevím)
grep --include "*.txt". To tvoje expanduje před spuštěním příkazu, což bude trvat a nemusí se povést (když těch souborů bude fakt hodně). Alternativa by byla ještě find -name "*.txt" -exec grep ...
Název: Najít text pomocí příkazové řádky
Přispěvatel: mcer 25. 08. 2020, 03:05:14
Skvělé, tak konečně si najdu v počítači cokoliv potřebuji.

Typy souborů teď neřeším.
Tvar příkazu, který mi vyhovuje:

Kód: [Vybrat]
grep -ilr "můj cíl"
Děkuji, mějte se ... :)
Název: Re:Najít text pomocí příkazové řádky
Přispěvatel: mcer 25. 08. 2020, 03:57:50
Nebo užitečně

Kód: [Vybrat]
grep -ir --colour "můj cíl"
Je to dobré ...

Kód: [Vybrat]
grep --help
Název: Re:Najít text pomocí příkazové řádky
Přispěvatel: k3dAR 25. 08. 2020, 04:42:37
take muzes pouzit hledani v midnight commander (doinstaluj balicek mc pokud neznas...), klavesova zkratka ALT+?
Název: Re:Najít text pomocí příkazové řádky
Přispěvatel: listoper 25. 08. 2020, 06:33:19
...
Kód: [Vybrat]
grep -ri "můj cíl" ~ totéž, ale navíc case-insensitive

nevýhoda je že pod ~ bude i hromada např. binárních souborů a v těch hledat nechceš
...


Binarni soubory lze vyloucit pomoci "-I".