← Back to team overview

sslug-teknik team mailing list archive

Re: grep: memory exhausted

 

Jacob Sparre Andersen wrote:

Lars Brandi Jensen skrev:

Jeg har et lille problem. Jeg skal hente nogle tekst-data fra en hardisk (ext3). Så jeg skriver følgende fra systemrescuecd på en mountet share :

grep -a -B2 -A4 "søgetekst" /dev/hda1 > gem_output

Jeg har ligeledes prøvet :

dd if=/dev/sda3 bs=1048576 count=500 | grep -a -B2 -A4 "søgetekst" /dev/hda1 > gem_output

Efter et stykke tid får jeg så "grep: memory exhausted" på begge kommandoer. Det er jo temmelig klart hvad der sker her. Jeg har 190 MB til rådighed. Er der monstro nogle bud på hvordan jeg undgår at løbe tør for hukommelse ?


Ved at ombryde dataene i linjer. Du kan for eksempel konvertere alle ikke-bogstaver til linjeskift med `tr` inden du gøre dataene igennem `grep`.

Jeg har spekuleret lidt over hvordan man kan ombryde linierne. Jeg har prøvet følgende :

tr -c '[:alnum:]' '\n' < /dev/hda1 | grep "søgetekst"

Men det giver ikke et godt resultat. Den skulle så vidt jeg_kan_forstå tage alle ikke-bogstaver og tal og skifte ud med linieskift ?!

Lars Brandi Jensen


Follow ups

References