[unix-ws] GREP-Frage

Jan Bruners jan at bruners.de
Don Nov 21 19:12:56 CET 2002


Sehr verständlich mittlerweile (s. auch mein letztes Posting). Wo kein .txt, da auch kein *.txt.

Vielen Dank

- Jan

Claus Kalle <kalle at rrz.uni-koeln.de> schrieb am Donnerstag, 21. November 2002:

>Hallo,
>
>kein Wunder, denn das Argument von grep wird ja durch die shell geparsed.
>Wenn es den *.txt nicht gibt, kann grep den file erst garnicht oeffnen und
>damit auch nicht das directory in dem er ist, parsen. Bei * allein reicht
>eine Datei im directory damit grep dann was findet, um auch das directory
>zu erkennen.
>Ist dies verstaendlicher?
>
>At 10:53 21.11.2002 +0100, Jan Bruners wrote:
>>Hallo,
>>
>>danke für den Hinweis. Allerdings funktioniert
>>
>>grep -r -l "Pattern" *.txt
>>
>>wenn ich mich in einem Verzeichnis befinde, dass eine entsprechende
>Textdatei enthält. Ebenso funktioniert
>>
>>grep -r -l "Pattern" *
>>
>>Das durchsucht alle Dateien rekursiv durch den Verzeichnisbaum. Am
>File/Directory Argument kann es also nicht liegen.
>>
>>Freundliche Grüße
>>
>>- Jan
>>
>>Claus Kalle <kalle at rrz.uni-koeln.de> schrieb am Donnerstag, 21. November
>2002:
>>
>>>Hallo,
>>>die manpage zum GNUutils grep sagt:
>>>-d ACTION, --directories=ACTION 
>>>     If an input file is a directory, use ACTION to process it. By default,
>>>ACTION is read, which means that directories are read just as if they were
>>>ordinary files.
>>>     If ACTION is skip, directories are silently skipped. If ACTION is
>>>recurse, grep reads all files under each directory, recursively; this is
>>>equivalent to the
>>>     -r option. 
>>>....
>>>-r, --recursive 
>>>     Read all files under each directory, recursively; this is equivalent
>>>to the -d recurse option. 
>>>Also muss dann das filename Argument ein directory sein, kein(e) file(s).
>>>Also gib mal
>>>grep -r -l "Pattern" .
>>>ein.
>>>
>>>At 02:14 21.11.2002 +0100, Jan Bruners wrote:
>>>>Hallo,
>>>>
>>>>ich bin etwas besessen von den Möglichkeiten der grep-Suche, deshalb noch
>>>eine grep-Frage:
>>>>
>>>>Die Zeile
>>>>
>>>>grep -r -l "Pattern" *.txt
>>>>
>>>>liefert als Ergebnis "grep: no match". Tatsächlich gibt es aber eine
>>>txt-Datei, die das gesuchte Pattern enthält. Wenn ich in das entsprechende
>>>Verzeichnis wechsele und die Zeile erneut ausführe (mit oder ohne
>>>Rekursion), wird die Datei auch ausgegeben.
>>>>
>>>>Woran liegt es, dass grep bei der rekursiven Suche im Verzeichnisbaum die
>>>Datei mit der passenden Endung und dem passenden Pattern übersieht?
>>>>
>>>>Für Tipps bin ich dankbar.
>>>>
>>>>Freundliche Grüße
>>>>
>>>>Jan Bruners
>>>>-- 
>>>>Jan Bruners
>>>>Universitaet Koeln - Institut fuer deutsche Sprache und Literatur
>>>>Albertus Magnus Platz - 50923 Koeln
>>>>Tel (0221) 470-5235 - Fax (0221) 470-5107
>>>>
>>>>
>>>
>>>Gruss, Claus Kalle
>>>
>>
>>
>
>Gruss, Claus Kalle
>