Home / LinuxUser / 2000 / 07 / Zu Befehl

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

„Klickbunt auf dem Server? Warum nicht, wenn's hilft!"
(220 Punkte bei 8 Stimmen)
KDE 4.10.2, Gnome 3.6 und mehr
(121 Punkte bei 4 Stimmen)
Google schmeißt Jabber raus ...
(121 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Hier grept der Bär!

Zu Befehl

Grep und find – ein starkes Team

Erinnern Sie sich an die letzte Folge, in der es um find ging? Dort wurde von einer Kombination der Befehle mit -exec gesprochen. Eine tolle Sache – denn jetzt lassen sich ganze Verzeichnisbäume rekursiv nach Zeichenketten durchsuchen. grep alleine reicht hier nicht aus, eine sinnvolle Zusammensetzung der Kommandos könnte so aussehen:

huhn@huehnerstall ~ > find . -exec grep -l bla '{}' ';'
./test/datei2
./datei3
./datei1

Im Unterschied zum Aufruf grep bla * werden hier die von find gefundenen Dateien einzeln an grep übergeben. In diesem Fall zeigt grep ohne die Option -l nicht die Datei an, in der das Suchmuster gefunden wurde, was bei mehreren Treffern leicht unübersichtlich wird.

Möchte man nur bestimmte Dateien durchforsten, kann man die Auswahl der von find zu findenden Files in verschiedener Weise einschränken: Um beispielsweise alle .tex-Dateien in allen Unterverzeichnissen nach dem String \usepackage zu durchsuchen, schreibt man

find . '*.tex' -exec grep -l '\usepackage' '{}' ';'

Hinweis:

grep

und Verzeichnisse

Die meisten grep-Versionen geben eine Fehlermeldung aus, wenn man ihnen als Argument einen Verzeichnisnamen übergibt. Möchte man dieses verhindern, kann man die von find ausgewählten Dateien z. B. mit der Option -type f auf reguläre Dateien beschränken.

grep findet keine Klartext-Suchmuster in komprimierten Dateien. Dazu kann man stattdessen das Kommando zgrep verwenden (siehe auch die man-Page dazu). Übrigens: Alles über komprimierte Dateien gibt's in der nächsten "Zu Befehl"-Folge – bis dahin fröhliches Greppen!

Glossar

Shell

Der Kommandozeileninterpreter – hier werden die Befehle, die Sie eintippen, dem Betriebssystem verständlich gemacht. Wie auf anderen Unix-Systemen kann man zwischen den gängigen Shell-Modellen wählen: bash (die Linux-Standard-Shell), ksh, csh etc.

Wildcards

Sonderzeichen, die Teile von Zeichenketten unbestimmt lassen. Ein Fragezeichen ? in einer Zeichenkette lässt nur denjenigen Buchstaben dieser Zeichenkette unbestimmt (z. B. h?llo => hallo, hGllo, h7llo,…), an dem sich das Fragezeichen befindet, während ein * für beliebig viele verschiedene Zeichen steht (z.B. G*ss => Guss, Genuss). Ruft man beispielsweise grep bla * auf, werden alle Dateien im aktuellen Verzeichnis nach "bla" durchsucht.

Kontext

Eigentlich bedeutet Kontext soviel wie "Zusammenhang" – übertragen auf Textdateien sind dies Zeilen, die unmittelbar vor und hinter der Fundstelle liegen. Sich diese Zeilen mit ausgeben zu lassen, hilft Ihnen dann, besser zu erkennen, welchen Ausschnitt des Textes grep gefunden hat, weil er nicht mehr so "aus dem Kontext gerissen" ist.

Pager

Ein Programm, das die Bildschirmausgabe eines anderen Programms abfängt und seitenweise anzeigt, z. B. less oder more.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 0 Punkte (1 Stimme)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

title_2013_06

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Emacs als Psychologe
Emacs als Psychologe
Tim Schürmann, 21.05.2013 11:49, 0 Kommentare

Wer beim Schreiben in Emacs nicht mehr weiter weiß oder schier an einer Programmieraufgabe verzweifelt, der kann den eingebauten Psychologen um Rat fragen.

1966 entwickelte der Infor...

Aktuelle Fragen

Kontakt via QR code hinzufügen
Herman Sproesser, 17.05.2013 17:46, 3 Antworten
Hi hab in der aktuellen ausgabe 06.2013 den artikel über QR Codes gelesen. Ich hab nartürlich...
Dateimanager Dolphin, wo legt er die Datei Kommentare ab?
Uwe Heine, 16.05.2013 15:19, 1 Antworten
Suse Linux 12.1 - KDE 4.7.2 / Dolphin 1.7. Ich habe bei vielen Dateien über Dolphin Kommentare...
wie baut man Kernel Module so, dass sie mit jedem Kernel laden?
GoaSkin , 22.04.2013 10:22, 1 Antworten
Hallo, baut man anhand eines Kernel-Sources Module, nutzt Linux im Normalfall eine strikte V...
Problem beim Installieren von SuSe 12.3
Georg Prokert, 14.04.2013 00:04, 16 Antworten
Hallo, auf meinem neuem Laptop (Acer Aspire V3-771, Intel Core i5-3230 M, Intel HD Graphics 4...
lvm wieder loswerden
Peter Dibbern, 11.04.2013 16:28, 4 Antworten
Ich habe sämtliche alten Kisten ausgeschlachtet und aus der Teilen einen Rechner zusammengeschrau...