Suche in einer Datei eingrenzen?

slaughter.j4ck

slaughter.j4ck

Mitglied
Hallo,
ich möchte in einer Datei ein bestimmtes Muster suchen, welches aber mehrmals vorkommen kann. Also habe ich mich gefrgt, ob man dem grep sagen kann, dass er nur einen bestimmten Abschnitt der Datei durchsuchen soll. Geht das??
Hat jemand einen Tipp/ eine Lösung für mich??

mfg
slaughter.j4ck
 
hatte eigentlich an grep gedacht, aber sed geht natürlich auch!
 
Wenn es GNU grep ist, dann geht das sehr einfach.
Code:
$ cat test
Das ist eine Zeile
Das eine weitere.
Das ist eine Zeile
Da kommt noch mehr.

wolle@Nietzsche:/tmp
$ grep "Das ist eine Zeile" test
Das ist eine Zeile
Das ist eine Zeile
wolle@Nietzsche:/tmp
$ grep -m1 "Das ist eine Zeile" test
Das ist eine Zeile
wolle@Nietzsche:/tmp
$ grep --version
grep (GNU grep) 2.5.1

Copyright 1988, 1992-1999, 2000, 2001 Free Software Foundation, Inc.
Dies ist freie Software; in den Quellen befinden sich die Lizenzbedingungen.
Es gibt KEINERLEI Garantie; nicht einmal für die TAUGLICHKEIT oder
VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK.

Siehe man grep

Wenn nicht GNU, dann verate bitte deine Shell und verwendete GNU-Version

Gruß Wolfgang
 
ÖÖhhhh, das Versteh ich mal agrnicht!!!
Stelle meine Frage noch mal anders:
Ich habe eine Textdatei in der ich etwas suchen will.
(Soweit war ja klar.)
Was Ich suchen will steht aber mehrfach in der Datei (kein Wunder wenn man nach "Enable=" sucht :) )
Jetzt habe ich gesehen, dass mein "Enable=" im Abschnitt [Bespiel] steht und mit [Beispiel2] endet.
Jetzt dachte ich das ich dem grep - Befehl sage: Such nur in dem Abschnitt [Bespiel] bis [Bespiel2] nach "Enable="

Wolfgang sei mit bitte nicht böse, aber was du mir dar, freundlicherweise, zu erklären versucht hast, versteh ich nicht (ich <--- LinuxvollNOOB :( ).

mfg
slaughter.j4ck

ps: was ist GNU grep?
 
Zuletzt bearbeitet:
ps: was ist GNU grep?

GNU grep ist eine nicht-Standard grep Variante mit GNU Erweiterungen.


/bin/grep -V oder man grep verrät es dir

Hier was mit sed, ist aber nicht so toll wie Wolfgangs Version...

Code:
stephan@unimatrix ~ :) $ cat foo.txt 
Enable=falsch
[Beispiel]
foo
Enable=richtig
bar
[Beispiel2]
Enable=falsch

Code:
stephan@unimatrix ~ :( $ sed -n '/\[Beispiel\]/,/\[Beispiel2\]/{/Enable=/p}' foo.txt 
Enable=richtig
Erklärung:
/\[Beispiel\]/,/\[Beispiel2\]/ finde deinen Bereich von Beispiel bis Beispiel2... und dann wird nur die Zeile mit Enable= ausgegeben die zwischen Beispiel bis Beispiel2 steht, alles okay so?
 
Zuletzt bearbeitet:
jup, das habe ich verstanden. :)
Danke!

mfg slaughter.j4ck
 

Ähnliche Themen

chown Befehl in einem Script

mehrere Textdateien gleichzeitig öffnen.

grep -p # Paragraph

Samba 3.6.25 - OpenLDAP Setup

CRON - Karnevalistische Lösung des Datums

Zurück
Oben