Inhalt einer Datei suchen
Hallo, ich habe ein Verzeichniss mit nehreren Unterverzeichnissen. In irgendeiner datei steht mein Name drin. Wie finde ich die Datei wo der drin steht? mit cat * | grep oliver finde ich die Zeile, aber in welcher datei es steht weiss ich nicht. Kann jemand mit dem Zaunpfahl winken? By Olli
On Tuesday 14 March 2006 11:24, Oliver Wiemer wrote:
Hallo,
ich habe ein Verzeichniss mit nehreren Unterverzeichnissen. In irgendeiner datei steht mein Name drin. Wie finde ich die Datei wo der drin steht?
mit cat * | grep oliver finde ich die Zeile, aber in welcher datei es steht weiss ich nicht.
useless use of cat :-)
Kann jemand mit dem Zaunpfahl winken?
--> grep oliver * da steht der Dateiname dann auch vorne dran, wo die Uebereinstimmung war.
By Olli
LG, Benni -- Benjamin Zeller Ing.-Büro Hohmann Bahnhofstr. 34 D-82515 Wolfratshausen Tel.: +49 (0)8171 347 88 12 Mobil: +49 (0)160 99 11 55 23 Fax: +49 (0)8171 910 778 mailto: zeller@ibh-wor.de www.ibh-wor.de
Hi Benjamin, Am Dienstag, 14. März 2006 11:33 schrieb Benjamin Zeller:
On Tuesday 14 March 2006 11:24, Oliver Wiemer wrote:
ich habe ein Verzeichniss mit nehreren Unterverzeichnissen. In irgendeiner datei steht mein Name drin. Wie finde ich die Datei wo der drin steht?
mit cat * | grep oliver finde ich die Zeile, aber in welcher datei es steht weiss ich nicht.
useless use of cat :-)
Kann jemand mit dem Zaunpfahl winken?
--> grep oliver * da steht der Dateiname dann auch vorne dran, wo die Uebereinstimmung war.
der OP sprach von mehreren UVs. find /startverzeichnis/ -type f -exec grep -H suchstring {} \; Gruss Falk
On Tuesday 14 March 2006 11:47, Falk Sauer wrote:
Hi Benjamin,
Am Dienstag, 14. März 2006 11:33 schrieb Benjamin Zeller:
On Tuesday 14 March 2006 11:24, Oliver Wiemer wrote:
ich habe ein Verzeichniss mit nehreren Unterverzeichnissen. In irgendeiner datei steht mein Name drin. Wie finde ich die Datei wo der drin steht?
mit cat * | grep oliver finde ich die Zeile, aber in welcher datei es steht weiss ich nicht.
useless use of cat :-)
Kann jemand mit dem Zaunpfahl winken?
--> grep oliver * da steht der Dateiname dann auch vorne dran, wo die Uebereinstimmung war.
der OP sprach von mehreren UVs.
Ah, ok, das hab ich uebersehen bzw. ueberlesen, sorry, shame on me.
find /startverzeichnis/ -type f -exec grep -H suchstring {} \;
Dann eben so :-)
Gruss Falk
LG, Benni -- Benjamin Zeller Ing.-Büro Hohmann Bahnhofstr. 34 D-82515 Wolfratshausen Tel.: +49 (0)8171 347 88 12 Mobil: +49 (0)160 99 11 55 23 Fax: +49 (0)8171 910 778 mailto: zeller@ibh-wor.de www.ibh-wor.de
Hallo, Am Tue, 14 Mar 2006, Detlef Reichelt schrieb:
Am Dienstag, 14. März 2006 12:01 schrieb Benjamin Zeller:
--> grep oliver * da steht der Dateiname dann auch vorne dran, wo die Uebereinstimmung war.
der OP sprach von mehreren UVs.
dafür kennt grep aber "-r = recursiv":
grep suchwort startverzeichnis -r
Erstens gehoeren Optionen vorne hin (und hinten koennen sie Aerger machen), und zweitens ist das falsch: $ grep -r grep: invalid option -- r Usage: grep [OPTION]... PATTERN [FILE]... ^^^^^^^^erstens $ grep --version | head -n 1 grep (GNU grep) 2.2 Vergleiche auch http://www.opengroup.org/onlinepubs/007908799/xcu/grep.html -dnh -- 42: Stabilität 200 Studenten der Informatik-Anfängerübung auf einer Maschine nachdem die Vorlesung 'fork()' behandelt hat. (nach David S. Miller, linux.dev.kernel)
David Haller wrote:
Hallo,
Am Tue, 14 Mar 2006, Detlef Reichelt schrieb:
Am Dienstag, 14. März 2006 12:01 schrieb Benjamin Zeller:
--> grep oliver * da steht der Dateiname dann auch vorne dran, wo die Uebereinstimmung war.
der OP sprach von mehreren UVs.
dafür kennt grep aber "-r = recursiv":
grep suchwort startverzeichnis -r
Erstens gehoeren Optionen vorne hin (und hinten koennen sie Aerger machen), und zweitens ist das falsch:
$ grep -r grep: invalid option -- r Usage: grep [OPTION]... PATTERN [FILE]... ^^^^^^^^erstens $ grep --version | head -n 1 grep (GNU grep) 2.2
Tja, mit dieser: "grep (GNU grep) 2.5.1" geht's ... ;-) Martin P.S. --> David: sorry für die extra Mail!
Hallo, Am Tue, 14 Mar 2006, Martin Deppe schrieb:
David Haller wrote:
Am Tue, 14 Mar 2006, Detlef Reichelt schrieb: [..]
grep suchwort startverzeichnis -r [..] $ grep -r grep: invalid option -- r [..] $ grep --version | head -n 1 grep (GNU grep) 2.2
Tja, mit dieser: "grep (GNU grep) 2.5.1" geht's ...
Aeh, es gibt auch andere Unixoide. Und wenn man selbst bei nem GNU grep nicht damit rechnen kann dass '-r' vorhanden ist... Bitte verfall' nicht in Windows Manierismen. -dnh -- Warning: Some of my best mistakes are yet to be made.
David Haller wrote:
Hallo,
Am Tue, 14 Mar 2006, Martin Deppe schrieb:
David Haller wrote:
Am Tue, 14 Mar 2006, Detlef Reichelt schrieb:
[..]
grep suchwort startverzeichnis -r
[..]
$ grep -r grep: invalid option -- r
[..]
$ grep --version | head -n 1 grep (GNU grep) 2.2
Tja, mit dieser: "grep (GNU grep) 2.5.1" geht's ...
Aeh, es gibt auch andere Unixoide. Und wenn man selbst bei nem GNU grep nicht damit rechnen kann dass '-r' vorhanden ist...
Bitte verfall' nicht in Windows Manierismen.
O o, David, David, Du behauptest, es geht nicht und ich zeige mit welcher Version es (unter anderem) geht. Das hat nichts mit Windows Manierismen zu tun, sonder damit, daß Du eine gewisse Ignoranz zeigst, während ich eine EXAKTE Version aufzeige, mit der es geht ;-) Cheers Martin
Hallo, Am Wed, 15 Mar 2006, Martin Deppe schrieb:
David Haller wrote:
Am Tue, 14 Mar 2006, Martin Deppe schrieb:
David Haller wrote: [..]
$ grep -r grep: invalid option -- r [..] Tja, mit dieser: "grep (GNU grep) 2.5.1" geht's ...
Aeh, es gibt auch andere Unixoide. Und wenn man selbst bei nem GNU grep nicht damit rechnen kann dass '-r' vorhanden ist...
Bitte verfall' nicht in Windows Manierismen.
O o, David, David, Du behauptest, es geht nicht
Wo das?
und ich zeige mit welcher Version es (unter anderem) geht.
Ja eben. Aber eben nicht ueberall.
Das hat nichts mit Windows Manierismen zu tun, sonder damit,
Doch. Du gingst von etwas aus, "weil das ja alle haben", eben wie viele Windowser davon ausgehen, das der Gegenueber mit Win*, Word, OjE und so weiter arbeitet, weil "das hat ja jeder, ist ja beim Rechner dabei"...
daß Du eine gewisse Ignoranz zeigst, während ich eine EXAKTE Version aufzeige, mit der es geht ;-)
Und? Ich zeigte eine EXAKTE Version, mit der es nicht geht. Und es gibt garantiert mehr Grep-Versionen, die '-r' nicht haben. -dnh -- "I love the way Microsoft follows standards. In much the same manner that fish follow migrating caribou." -- Paul Tomblin
Hallo David, Am Donnerstag, 16. März 2006 20:03 schrieb David Haller:
Das hat nichts mit Windows Manierismen zu tun, sonder damit,
Doch. Du gingst von etwas aus, "weil das ja alle haben", eben wie viele Windowser davon ausgehen, das der Gegenueber mit Win*, Word, OjE und so weiter arbeitet, weil "das hat ja jeder, ist ja beim Rechner dabei"...
daß Du eine gewisse Ignoranz zeigst, während ich eine EXAKTE Version aufzeige, mit der es geht ;-)
Und? Ich zeigte eine EXAKTE Version, mit der es nicht geht.
Und es gibt garantiert mehr Grep-Versionen, die '-r' nicht haben.
soll ich also bei jeder Antwort, die ich hier oder auch woanders gebe, erstmal die Changelogs durchsuchen, ob meine Antwort vielleicht 1995 falsch gewesen wäre? Gruß Detlef
Detlef Reichelt wrote:
[...]
soll ich also bei jeder Antwort, die ich hier oder auch woanders gebe, erstmal die Changelogs durchsuchen, ob meine Antwort vielleicht 1995 falsch gewesen wäre?
Jungs, diese Diskussion fuehrt zu nichts. Ich denke, wir sind hier auf einer SuSE-Liste, also reden wir primaer von SuSE Linux, und unter Betrachtung der Ziel-Gruppe von SuSE duerften die meisten Leute auf dieser Liste eine Version zwischen 9.1 und 10.0 haben. Basierend auf diesem Hintergrund finde ich es nicht gut, Loesungen, die hier funktionieren, als falsch darzustellen, andererseits finde ich es aber auch super, auf Ausnahmen hinzuweisen und Sonderfaelle aufzuzeigen. Da kann jeder etwas lernen und es wird einem bewusst, dass man Dinge manchmal als selbstverstaendlich hinnimmt, die doch anderweitig gar nicht so wirklich selbstverstaendlich sind. Aber lasst uns bitte das Ziel nicht aus den Augen verlieren! Dem OP wurde geholfen, das ist die Hauptsache, und bei der anschliessend entstandenen Diskussion hat jeder irgendwie ein bissl Recht - also streitet bitte nicht, denn eigentlich gibt es gar nichts zu streiten ;-) Gruesse aus London, Th.
Hallo, Am Thu, 16 Mar 2006, Thomas Hertweck schrieb:
Detlef Reichelt wrote:
[...] soll ich also bei jeder Antwort, die ich hier oder auch woanders gebe, erstmal die Changelogs durchsuchen, ob meine Antwort vielleicht 1995 falsch gewesen wäre?
Nein. Aber andererseits auch nicht implizieren, dass deine Antwort ueberall[1] richtig ist. Aber siehe unten.
Jungs, diese Diskussion fuehrt zu nichts. Ich denke, wir sind hier auf einer SuSE-Liste, also reden wir primaer von SuSE Linux, und unter Betrachtung der Ziel-Gruppe von SuSE duerften die meisten Leute auf dieser Liste eine Version zwischen 9.1 und 10.0 haben. Basierend auf diesem Hintergrund finde ich es nicht gut, Loesungen, die hier funktionieren, als falsch darzustellen,
Das habe ich nicht. Ich habe aber, wohl etwas zu plump darauf hingewiesen, dass es eben noch nichtmal(!) mit jedem GNU grep (unter Linux) funktioniert.
andererseits finde ich es aber auch super, auf Ausnahmen hinzuweisen und Sonderfaelle aufzuzeigen. Da kann jeder etwas lernen und es wird einem bewusst, dass man Dinge manchmal als selbstverstaendlich hinnimmt, die doch anderweitig gar nicht so wirklich selbstverstaendlich sind.
Genau das war und ist mein Anliegen. Oft sind es ja GNUismen, die man (aus Unkenntnis[2]) als "selbstverstaendlich" ansieht, oder Eigenschaften einer Shell, aber -- zumindest mir geht das so -- wenn das selbst mit einem GNU/Linux nicht ueberall funktioniert faellt bei mir der Hinweis (auf den beschraenkten Versions-Horizont?) wohl mal etwas plumper aus. Scheinbar auch mal zu plump fuer manche. Oder wie auch immer. Ich will hier und dabei nichts werten! Andererseits, wenn sich durch diese Diskussion hier auch nur eine Person des Problems bewusst wird, darf ich, als Pedant, der ich sein kann, mein Kreuzerl bei "Zweck erfuellt" machen... *eg* Ja, wir sind hier nicht in de.comp.os.unix.shell. Aber es ist mir ein Anliegen, darauf hinzuweisen, dass man auf GNUismen oder "neue" Funktionen hinweisen sollte, sofern diese einem bekannt sind -- bzw. ich will das Wissen um die Vielfalt an (teils inkompatiblen) Versionen weiterverbreiten. Teilweise steht auch in den man- und/oder infopages etwas zur "Konformitaet". Ein "geht mit GNU grep Version bla" reicht ja. Auf keinen Fall sollte man aber beleidigt reagieren, wenn man darauf hingewiesen wird, dass es $foo eben nicht bei allen "grep"- oder anderen Programmen gibt. Darauf reagiere ich gereizt. Denn wer hier ne Weile mitliest, sollte mitbekommen haben, dass ich gerne mal (knapp) darauf hinweise, dass es $foo eben nicht ueberall gibt... Ich will primaer das Problembewusstsein foerdern, und da gibt mein teilweise "uralt" SuSE natuerlich oft ein hervorragendes (Gegen-)Beispiel ab. Das Wissen um die Inkompatibilitaeten ist mir wichtig. Dass Wissen, dass es sowas wie (auch und gerade _neue_!) GNUismen gibt. Z.B., dass eben die Mehrzahl der 'grep' Programme (auch GNU grep) eben kein '-r' kennt -- auch wenn hier(!) inzwischen wohl fast jeder ein GNU grep hat, das das kann. Analog: 'sed -i'... Und wer mal bei der Uni oder in einer Firma mit nem aelteren Linux oder nem anderen Unix zu tun bekommt wird dankbar sein, dass er um sowas weiss. Und eben (klassisches Beispiel) kein 'killall bla' absetzt ohne sich zu vergewissern, dass das killall das gewuenschte (und gewohnte) macht.
Aber lasst uns bitte das Ziel nicht aus den Augen verlieren! Dem OP wurde geholfen, das ist die Hauptsache,
Tja, der OP hat sich leider nicht dazu geaeussert, welcher Hinweis geholfen hat... Nur, dass er wohl wieder den Wald statt nur Baeume sehen konnte... -dnh [1] Auf Linuxen oder gar Unixoiden, also *BSD, Darwin, und die vielen proprietaeren Unices wie SunOS/Solaris, AIX, IRIX, HP/UX... oder gar Windows mit dieser IIRC "Unix Services"(?) Erweiterung... [2] das ist keine "Schande", das ist einfach so, ging mir lange auch nicht anders und ich falle auch oft noch drauf rein... Nein, ich weiss auch des oefteren nicht, ob jetzt etwas ein GNUismus ist oder nicht... -- - Macs sind für die, die nicht wissen wollen, warum Ihr Rechner funzt. - Linux ist für die, die wissen wollen, warum er funzt. - DOS ist für die, die wissen wollen, warum er nicht funzt, und - Windows ist für die, die nicht wissen wollen, warum er nicht funzt.
Am Freitag, 17. März 2006 03:41 schrieb David Haller:
Das Wissen um die Inkompatibilitaeten ist mir wichtig. Dass Wissen, dass es sowas wie (auch und gerade _neue_!) GNUismen gibt. Z.B., dass eben die Mehrzahl der 'grep' Programme (auch GNU grep) eben kein '-r' kennt -- auch wenn hier(!) inzwischen wohl fast jeder ein GNU grep hat, das das kann. Analog: 'sed -i'...
Und wer mal bei der Uni oder in einer Firma mit nem aelteren Linux oder nem anderen Unix zu tun bekommt wird dankbar sein, dass er um sowas weiss.
Mir fällt dazu immer wieder ein, dass es ganz entscheidend sein kann, wie man ein Archiv extrahiert. Ich habe schon erlebt, dass ich Pakete erst dann problemlos kompilieren konnte, wenn ich es auf meine "umständliche" Art machte: zB bzip2|gzip -cd paket | tar xvf - Speziell ein Klick im Konqueror und Entpacken durch "drag and drop" kann manchmal daneben gehen, obwohl es meistens problemlos funktioniert. Al
Hallo David, Am Dienstag, 14. März 2006 16:17 schrieb David Haller:
dafür kennt grep aber "-r = recursiv":
grep suchwort startverzeichnis -r
Erstens gehoeren Optionen vorne hin (und hinten koennen sie Aerger machen), und zweitens ist das falsch:
Erstens gibt es Programme, denen es egal ist, wo die Optionen stehen und zweitens solltest du vielleicht mal dein System aus der Steinzeit befreien, grep kann bei mir schon lange "-r" ;) Du hast Recht, viele Programme bestehen auf die Reihenfolge "Option Datei". Bei grep ist es halt nur so: ich suche was, finde es nicht im aktuellen Verzeichnis, also "Cursor hoch" und nen "-r" dahinter. Meine Schreibweise entsteht also durch reine Faulheit. Gruß Detlef
Hallo, Am Tue, 14 Mar 2006, Detlef Reichelt schrieb:
Am Dienstag, 14. März 2006 16:17 schrieb David Haller:
dafür kennt grep aber "-r = recursiv":
grep suchwort startverzeichnis -r
Erstens gehoeren Optionen vorne hin (und hinten koennen sie Aerger machen), und zweitens ist das falsch:
Erstens gibt es Programme, denen es egal ist, wo die Optionen stehen
Das klappt aber trotzdem nicht immer.
zweitens solltest du vielleicht mal dein System aus der Steinzeit befreien, grep kann bei mir schon lange "-r" ;)
Das ist kein Argument. Mein System laeuft seit 6.5 Jahren stabil, warum sollte ich daran was aendern? Und wieso kommst du auf die Idee ich haette nur altes installiert?
Du hast Recht, viele Programme bestehen auf die Reihenfolge "Option Datei". Bei grep ist es halt nur so: ich suche was, finde es nicht im aktuellen Verzeichnis, also "Cursor hoch" und nen "-r" dahinter. Meine Schreibweise entsteht also durch reine Faulheit.
Mach ich in der Shell auch so. Aber aendere das in Mails bitte. -dnh --
Alkohol ist Gift, und Gift gehoert Vernichtet Eben. Seh schon hier sin alle dem aloholizismus verfallen! Ach? Iss das ansteckend? *glugggluggglugg* *brööööööööhhhhhh* [aus suse-talk]
Am Dienstag, 14. März 2006 21:01 schrieb David Haller:
zweitens solltest du vielleicht mal dein System aus der Steinzeit befreien, grep kann bei mir schon lange "-r" ;)
Das ist kein Argument. Mein System laeuft seit 6.5 Jahren stabil, warum sollte ich daran was aendern?
das ist dein System, wir wissen ja, das jeder sein Linux so baut, wie er es haben will. ;)
Und wieso kommst du auf die Idee ich haette nur altes installiert?
Hab ich nie behauptet, man beachte meinen Smilie! Hm, naja, bevor du Behauptungen aufstellst, das "ist falsch", solltest du mal testen was die aktuellen Versionen leisten... Detlef
Hallo, Am Tue, 14 Mar 2006, Detlef Reichelt schrieb:
Hm, naja, bevor du Behauptungen aufstellst, das "ist falsch", solltest du mal testen was die aktuellen Versionen leisten...
Nur keine Angst, ich weiss, dass GNU grep seit einen Versionen die Option '-r' kennt oder GNU sed die Option '-i' (seit IIRC 3.02.80 oder so)... Diese Optionen sind aber eben einfach nicht portabel, und auch wenn man davon ausgehen kann, dass wohl die meisten _hier_ ein halbwegs aktuelles GNU toolset haben (s.u.) sollte man dennoch darauf hinweisen, dass das eben nur mit nem aktuellen GNU grep/sed/find/.. funktioniert. Siehe nebenan: Nur weil die meisten Windows verwenden kannst du nicht davon ausgehen, dass alle PC Benutzer Windows verwenden. Oder MS Word. Oder IE. Oder OhjE... Genauso gibt es hier noch einige, die eine aeltere SuSE z.B. auf nem Server einsetzen -- oft mit individuell guten Gruenden, du kannst einfach nicht davon ausgehen, dass hier alle eine 9.3 oder 10.0 verwenden. Es gibt hier auch einige, die verwenden inzwischen schon laenger ueberhaupt keine SuSE mehr sondern Debian oder sonstwas... Aber, ja, mich "trifft" sowas mit meinem (nur teilweise! [1]) doch arg angestaubten "Hallerlix" (ex SuSE 6.2) meist am fruehesten, meist ist das aber kein Problem. Und wenn doch wird halt ne neuere Programmversion parallel installiert. -dnh [1] Ich denke, ich habe einen Haufen libs und Programme installiert, die aktueller als die bei dir sind... -- Bei den meisten Männern reicht es nicht zum Begreifen, nur zum Begrabbeln. -- Gabriele Conrad
David Haller wrote:
[...]
Erstens gehoeren Optionen vorne hin (und hinten koennen sie Aerger machen), und zweitens ist das falsch:
$ grep -r grep: invalid option -- r Usage: grep [OPTION]... PATTERN [FILE]... ^^^^^^^^erstens $ grep --version | head -n 1 grep (GNU grep) 2.2
David, das ist Hallerlix, kein modernes Unix-System ;-) Du solltest Dinge nicht als "falsch" darstellen, nur weil es sie auf Deinem System nicht gibt. "grep -r" benutze ich sehr oft und finde es sehr hilfreich, es gibt diese Option bei GNU und ich moechte sie auch nicht missen...
Vergleiche auch http://www.opengroup.org/onlinepubs/007908799/xcu/grep.html
Zitat: The Single UNIX ® Specification, Version 2 Copyright © 1997 The Open Group ^^^^ Das Teil ist fast 10 Jahre alt. Im Computer-Business ist das eine halbe Ewigkeit... Bei einem einigermassen aktuellen System kennt GNU grep die Option -r. Cheers, Th.
Hallo, Am Tue, 14 Mar 2006, Falk Sauer schrieb:
Am Dienstag, 14. März 2006 11:33 schrieb Benjamin Zeller:
--> grep oliver * da steht der Dateiname dann auch vorne dran, wo die Uebereinstimmung war.
der OP sprach von mehreren UVs.
find /startverzeichnis/ -type f -exec grep -H suchstring {} \;
Das ist etwas arg lahm. Besser (mit GNU find, xargs und grep): find /startverzeichnis/ -type f -print0 | xargs -0 grep -H 'MUSTER' Ohne ein find/xargs das sowas wie das -print0 / -0 kennt wird's nervig mit Dateinamen mit Sonderzeichen, POSIX spezifiziert IIRC ein: find PFAD -exec grep 'MUSTER' {} + Das ist POSIX (IEEE Std 1003.1) spezifiziert[1], GNU find und diverse andere finds koennen das aber (noch) nicht. -dnh [1] http://www.opengroup.org/onlinepubs/009695399/utilities/find.html -- Ah, the curse of having old files lying around collecting dust. That file has been sitting on the system for about a decade. Never caused any trouble before now, probably because the teTeX supplied file won out in the kpathsea lottery. -- Harald Hanche-Olsen on the tetex-ML
On 3/14/06, Falk Sauer <falk@hb-fein.de> wrote:
Hi Benjamin,
Am Dienstag, 14. März 2006 11:33 schrieb Benjamin Zeller:
On Tuesday 14 March 2006 11:24, Oliver Wiemer wrote:
ich habe ein Verzeichniss mit nehreren Unterverzeichnissen. In irgendeiner datei steht mein Name drin. Wie finde ich die Datei wo der drin steht?
mit cat * | grep oliver finde ich die Zeile, aber in welcher datei es steht weiss ich nicht.
useless use of cat :-)
Kann jemand mit dem Zaunpfahl winken?
--> grep oliver * da steht der Dateiname dann auch vorne dran, wo die Uebereinstimmung war.
der OP sprach von mehreren UVs.
find /startverzeichnis/ -type f -exec grep -H suchstring {} \;
Useless use of find :-). Warum nicht einfach "grep -H oliver **"? Weiss jetzt nicht, ob das mit der Broken Again SHell geht, aber mit meiner Shell geht's (zsh rulez! ;-). Gruss, Karsten.
Danke Leute für die schnelle Hilfe ich wusste doch, dass ich den Wald nicht sehe! Viele Grüße Olli
Am Tue, 14. March 2006 11:24 schrieb Oliver Wiemer:
Hallo,
ich habe ein Verzeichniss mit nehreren Unterverzeichnissen. In irgendeiner datei steht mein Name drin. Wie finde ich die Datei wo der drin steht?
mit cat * | grep oliver finde ich die Zeile, aber in welcher datei es steht weiss ich nicht.
Kann jemand mit dem Zaunpfahl winken?
Für grep: grep -H oliver * mit find: find ./Verzeichnis -type f -exec grep -H oliver {} \; Und superkomfortabel mit search++ aus dem swish++ Paket. Nach der Installation und Konfiguration (welche Verzeichnisse, etcpp.) wird mit index++ ein Index angelegt der mit search++ durchsucht werden kann. Ich hab es für meine Dokumenten Partition (ca. 3GB) eingerichtet und search++ findet suchbegriffe in einem Bruchteil einer Sekunde. Swish++ ist so ziemlich das schnellste was es unter der Sonne gibt um Volltext suchen zu ermöglichen. Einziger Nachteil man muss ab und an index++ starten damit dder Index auf dem laufenden gehalten wird. Das kann man aber fein mit einem cron job machen (der von updatedb für locate ist eine gute vorlage). Salü, Thomas
Am Dienstag, 14. März 2006 11:24 schrieb Oliver Wiemer:
Hallo,
ich habe ein Verzeichniss mit nehreren Unterverzeichnissen. In irgendeiner datei steht mein Name drin. Wie finde ich die Datei wo der drin steht?
mit cat * | grep oliver finde ich die Zeile, aber in welcher datei es steht weiss ich nicht.
Kann jemand mit dem Zaunpfahl winken?
find VERZEICHNIS | xargs grep -H oliver oder aber auch grep -r -h oliver VERZEICHNIS -H, --with-filename Dateinamen bei jeder Übereinstimmung anzeigen. -d, --directories=AKTION Verarbeitung von Verzeichnissen festlegen. AKTION ist 'read', 'recurse', oder 'skip'. -D, --devices=AKTION Verarbeitung von Gerätedateien, FIFOs und Sockets festlegt. AKTION ist »read« oder »write«. -R, -r, --recursive Äquivalent zu --directories=recurse. Besucht alle Dateien und Unter-Verzeichnisse (rekursiv) und schaut dort alle Dateien an, die oliver enthalten. Bye Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de Internet-Telefonie: www.skype.com Benutzer: juergen.vollmer
Hallo, 2006-03-14 10:24 +0000, Oliver Wiemer:
Hallo,
ich habe ein Verzeichniss mit nehreren Unterverzeichnissen. In irgendeiner datei steht mein Name drin. Wie finde ich die Datei wo der drin steht?
mit cat * | grep oliver finde ich die Zeile, aber in welcher datei es steht weiss ich nicht.
Kann jemand mit dem Zaunpfahl winken?
find . -type f -exec grep -q "oliver" '{}' \; -print Gruß Kimmo
participants (13)
-
Al Bogner
-
Benjamin Zeller
-
David Haller
-
Detlef Reichelt
-
Dominik Klein
-
Dr. Jürgen Vollmer
-
email.listen@googlemail.com
-
Falk Sauer
-
K. Elo
-
Karsten Künne
-
Martin Deppe
-
Oliver Wiemer
-
Thomas Hertweck