Linux find dateien suchen
felix
- software
0 Markus Pitha0 Reiner
0 Axel Richter
hallo,
ich habe eine frage, wie kann ich mit "find" (unter LINUX) nach dateien suchen, die eine bestimmte textpassage enthalten?
gruss
felix
Hi,
find --help hätte dir dieses Posting erspart, aber um deine Frage zu beantworten:
find VERZEICHNIS -iname *SUCHWORT*
Markus.
Hi,
find --help hätte dir dieses Posting erspart, aber um deine Frage zu beantworten:
Lesen lernen, hätte Dein Posting gespart, um damit Deine Antwort zu zerlegen! ;-)
find VERZEICHNIS -iname *SUCHWORT*
Erstens sollte es sauberer heißen:
find VERZEICHNIS -iname \SUCHWORT\
Zweitens wäre GREP die richtige Lösung.
Alternativ auch eine Kombination:
find -iname \so_aehnlich\|grep -irl enthaelt_zeichen_x
Gruß
Reiner
Hallo,
Alternativ auch eine Kombination:
find -iname \so_aehnlich\ | grep -irl enthaelt_zeichen_x
Das listet alle Dateinamen auf, die von find gefunden wurden und in deren Dateinamen das "enthaelt_zeichen_x" vorkommt. Es durchsucht _nicht_ den Dateiihalt, weil grep ohne [FILE]-Attribut aufgerufen wird und die Pipe einfach nur STDOUT von find an STDIN von grep leitet.
viele Grüße
Axel
Hallo,
ich habe eine frage, wie kann ich mit "find" (unter LINUX) nach dateien suchen, die eine bestimmte textpassage enthalten?
Find ist dafür nicht zuständig. Find sucht nur nach Dateinamen.
http://www.die.net/doc/linux/man/man1/find.1.html
Um _in_ Dateien zu suchen, benötigst Du grep.
http://www.die.net/doc/linux/man/man1/grep.1.html
Im aktuellen Verzeichnis durchsuchst Du alle Dteien nach einem Suchbegriff mit:
grep -i "Suchbegriff" *
Wenn Du Unterverzeichnisse mit durchsuchen willst, musst Du grep und find kombinieren. Der * muss durch eine Dateiliste, die find liefert, ersetzt werden.
grep -i "Suchbegriff" find . -type f -print
find . -type f -print
ergibt eine Liste aller Dateien vom Typ regular file, ausgehend vom aktuellen Verzeichnis (.) und allen Unterverzeichnissen.
Die Backticks sammeln die Dateiliste ein, statt sie an stdout auszugeben.
Diese steht dann grep als Dateiliste zur Verfügung.
viele Grüße
Axel