grep na binarni soubory nefunguje?

Jaroslav Lukesh lukesh na k-net.cz
Pondělí Březen 5 12:13:44 CET 2001


| Odesílatel: Alexandr Malusek <malusek na hroch.ujf.cas.cz>
| 
| lukesh na k-net.cz (Jaroslav Lukesh) writes:
| 
| Nedomnivam se ale, ze grep je dobry nastroj pro prohledavani 20 GB
| disku. Pokud soubor zpracovava po radcich, pak muze skoncit na

2GB velky binarni file grep projde bez problemu (cca 5-10 min P-233)

| nedostatek pameti. Tipuji, ze jednoucelovy program v C nebude o
| mnoho delsi nez 15 radku.

mám velikou prosbu, potřeboval bych pomoci s timhle jednoduchym programkem,
v
podstate skolni ulohou, jenze ja C neumim (asi se na nej nekdy budu muset
podivat).

Program by mel najit pozici textoveho retezce (definovaneho pro
jednoduchost treba jako konstantu) na zadanem offsetu 1024B bloku dat
(anebo kdekoliv - je to uplne jedno). Vstupem by byl jakkoliv veliky
binarni soubor (20GB) a vystupem cislo bloku vzdy na novem radku (+ nejaky
definovany text) tak, aby se dal vystup presmerovat do souboru a ten
posleze spustit.

Bohuzel, "grep -b PATTERN FILE" vypise jen hlasku, ze soubor retezec
obsahuje (v. 2.3 a vyssi), nebo (v. 2.2 a nizsi) uda v bytes pozici radku a
nikoli retezce. Tedy vec nepouzitelna.


Dekuji mockrat a jsem vam vsem moc zavazan.

Zdravi


             Jaroslav Lukesh
--------------------------------------------------
             note: Bill Gates to Hell!




Další informace o konferenci Linux