» Poradna » Programy

Podrobné vyhledávání v textových souborech

Odpovědět  |  Zobrazit bez stromu  |  Upozornit redakci  |  nových odpovědí: 14/14
 |   |  Microsoft Windows XP Opera 9.80  |  [89.103.83.---]

Sháním program, který by dokázal vyhledat ve složce všechny soubory s určitým textem, který se nachází mezi určitými slovy.Příklad: Mám ve složce 1000 textových souborů a v nich text v odstavcích, přčemž každý odstavec začíná textem "ODSTAVEC Č..." a já potřebuju z této složky vyhledat všechny textové soubory, v nichž se například mezi slovy ODSTAVEC Č.13 a ODSTAVEC Č.14 nachází slovo "jablko". Dá se něco takového na internetu stáhnout?

Odpovědi na otázku

 |   |  Microsoft Windows 7 Firefox 20.0  |  [89.103.143.---]

Total Commander, menu příkazy, hledat, v typech souborů zvolíš *.txt, zatrhneš "hledat text". Můžeš použít i regulární výrazy.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Opera 9.80  |  [89.103.83.---]

Total commander používám, ale nikde jsem tam nenašel, když chci hledat výraz mezi dvěma jinými výrazy, tak kde to mám napsat. Poradíš?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 20.0  |  [89.103.143.---]

Pročti si ty regulární výrazy, to je mocná věc:http://www.regularnivyrazy.info/regularni-vyrazy-zaklady.... To co chceš, by mohlo jít pomocí tohoto:^ začátek řetězce (textu v němž se vyhledává)$ konec řetězce (textu v němž se vyhledává)

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Opera 9.80  |  [217.212.230.---]

Už to čtu, ale moc moudrej z toho nejsem.Pokud byste tomu někdo rozuměl trochu víc a dokázal mi napsat přímo ten výraz kterej hledám, tak budu rád.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 20.0  |  [89.103.143.---]

No když ti to to nepomohlo...zkusím další nápovědu. To co potřebuješ, bude vypadat nějak takto:for.*toVyhledával jsem ve zdrojových souborech *.pas (textový formát), počátek řetězce je "for" a konec řetězce je "to", mezi nimi cokoli včetně mezer. Je to teda něco jiného, než na co jsem ti dal příklad, to se omlouvám. S regulárníma výrazama jsem zatím nic nedělal, a nakonec to šlo jednodušeji, než jsem si myslel, skoro jako "žolíková" prostá hvězdička. Teda pokud jsem se nespletl, no to si můžeš zkusit sám, vytvořit nějaké texťáky a pohrát si. Hrou se člověk učí. A o těch regulárních výrazech toho na netu je...tuny......ostatně ti děkuju, díky tobě se tím asi začnu zabývat, zajímavé to je...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Opera 9.80  |  [89.103.83.---]

počkej, jaký zas "for", a jaký "to" to mluvíš pořád o tom total commanderu nebo kde to mám napsat?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 20.0  |  [89.103.143.---]

Acho jo, to je jen příklad...za to si dosaď to svoje a tak...a kam to napsat, však v Total Commanderovi máš v tom okně vyhledávání řádek, kam po zatrženéí volby "Hledat text" můžeš do toho řádku vedle zadávat text, který chceš vyhledávat. A po zatržení volby "regulární výraz" (to je mezi těma check boxama pod tím řádkem s vyhledávaným textem) máš spoustu možností práce s textem. Já jsem si teď o těch regulárních výrazech teprve začal trochu číst, ale myslím že to s tím .* (ta tečka je důležitá, nestačí jen hvězdička) mezi začátkem a koncem hledaného textu by mohlo být to, co potřebuješ. Však si to otestuj...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Linux Firefox 20.0

www.copernic.com/Nevím, zda zrovna umí co požaduješ, ale lepši nástroj neznám.Pro domácí užití je free verze.http://www.copernic.com/en/products/desktop-searc...

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 20.0

zkus naindexovat přes DocFetcher

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Opera 9.80  |  [89.103.83.---]

co to je?a vůbec, co to je naindexovat? :) hele já jsem jenom prostý uživatel, na mě nemůžete takhle..

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Firefox 20.0  |  [89.103.213.---]

majkls: Máš tu dva stejné dotazy, takže dávám do obou stejnou odpověď:TC není špatná volba, ale "regulární výrazy" zde mají trochu jiný význam, viz Nápověda.Vyzkoušej Agent Ransack, v řádku Containing text mělo by stačit zadat"odstavec 1" AND slovo AND "odstavec 2"Rozlišování velikosti písmen zapneš/vypneš ikonou Aa, v Look in zvolíš adresář, popř. včetně podadresářů.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 20.0

Potřebuješ program, který umí hledat regulární výrazy přes víc řádků. Takových programů zdarma je pomálu, ale najdou se.Zkus třeba grepWin ( http://tools.tortoisesvn.net/grepWin.html ).Do Search in zadáš adresář a do Search for zadáš:(?s)^ODSTAVEC Č\.13.*jablko.*^ODSTAVEC Č\.14(?s) zapne hledání přes víc řádků, alternativa je zaškrtnout Dot matches newline^ znamená, že řádek musí tím ODSTAVEC začínat\. je obyčejná tečka (jen tečka bez zpětného lomítka znamená jakýkoliv znak).* znamená jakýkoliv text.Takhle to najde i slova jako abcjablkoxyz apod., pokud bys chtěl hledat jen celé slovo jablko, zadej do výrazu .*\bjablko\b.* místo .*jablko.*Podobný program je ještě dnGREP. Ten neumí exportovat seznam nalezených souborů, ale zase umí náhled souborů se zvýrazněným nalezeným textem.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 26.0.1410.64  |  [90.177.110.---]

Nejlepší odpověď je od šmouly.TC ti to nenajde, protože jeho regex NEUMÍ hledat přes více řádků.grepWin je dobrá volba, dal bych do regex search:ODSTAVEC Č\.13(.*?)jablko(.*?)ODSTAVEC Č\.14a zapnout Dot matches lines(Znak ^ bych nedával, kdyby se před ODSTAVEC vloudila např. mezera.)

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 20.0  |  [109.164.85.---]

Popravdě řečeno na to neni potřeba cele řadě systemu a dokonce ani u win vůbec nic - žadnej dalši programek ala TC ale umi to samy o sobě.Jenom je problem že bez nastudovani Get-Help Select-String a vubec bez tušení co toto je je lepši rovnou vlitnout na programek co ti to ulehčí.Ono jenom na okraj jednou ze zakladnich činností u spravy je filtrace dejme tomu .log logu aniž bych někam lezl a něci instaloval - třeba nemam možnost a dejme tomu že souborů s .log je 500 a ja hledam could not bed a za nim musi byt namespace.Tak prostě se použiva modifikovanej přikaz kterej umí system sam o sobě.

Souhlasím  |  Nesouhlasím  |  Odpovědět



Určitě si přečtěte



Aktuální číslo časopisu Computer

26 procesorů v důkladném testu

Zhodnotili jsme 18 bezdrátových reproduktorů

Jak fungují cash back služby?

Pohlídejte své děti na internetu