Portál AbcLinuxu, 10. května 2025 07:19

Dotaz: grep - název souboru

29.10.2011 14:08 antkrc
grep - název souboru
Přečteno: 212×
Odpovědět | Admin
Dobrý den. Používám příkaz less *.txt *.odt | grep "hledaný text"; grep -l "hledaný text" *.txt *.odt, který vypíše odstavec s hledaným textem a pod text ještě názvy souborů ve kterých se nalézá hledaný vzorek. Pročítání souborů a zobrazení vzorku je v pořádku, ale názvy souborů se zobrazují pouze s koncovkou .txt. Zobrazit názvy .odt souborů (tedy open/libre office) nedokáže. Proto prosím o radu zda někdo z vás ví jak zobrazit, po nalezení vzorku, název souboru odt. Děkuji Tonda

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

29.10.2011 14:19 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: grep - název souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Prohledávat grepem netextové soubory nemá moc smysl. Pokud mne paměť neklame, ODT je ve skutečnosti komprimovaný tarový archiv, tedy něco, co má k textu hodně daleko. Ve vaší instalaci máte patrně nastavený nějaký filtr, který umožňuje příkazu less zobrazit ODT dokument jako hladký text, který pak jde projít grepem, to ale neznamená, že můžete na ODT použít grep přímo.
29.10.2011 14:30 Kit
Rozbalit Rozbalit vše Re: grep - název souboru
ODT má vnitřní formát ZIP, logické bude použití zgrep.
29.10.2011 14:35 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: grep - název souboru
Aha, tak dokonce zip, tím hůř. Tím pádem ani zgrep moc nepomůže, protože ten je určen na hledání v textových souborech komprimovaných gzipem.
29.10.2011 14:46 Kit
Rozbalit Rozbalit vše Re: grep - název souboru
Uvnitř ODT je XML, to by také mělo jít zgrepem prohledat. Zkoušel jsem, nejde.
29.10.2011 14:52 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: grep - název souboru
Tak ještě jednou: příkaz zgrep slouží na prohledávání textů komprimovaný gzipem, ne zipem.
29.10.2011 15:00 Kit
Rozbalit Rozbalit vše Re: grep - název souboru
No jo, přehlédl jsem.

Funguje mi tohle:
unzip -c dokument.odt content.xml|grep vzorek
Ještě to zakomponovat do příkazu find a mohlo by to dělat požadovanou akci.
29.10.2011 14:50 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
Rozbalit Rozbalit vše Re: grep - název souboru

Ahoj

Pokud mne paměť neklame, ODT je ve skutečnosti komprimovaný tarový archiv

Trochu to opravim. Neni to tar, ale zazipovana primo adresarova struktura.

Dejv

Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.