Nur echte Dateien mit grep durchsuchen?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
DaCoda
Beiträge: 172
Registriert: 09.07.2019 21:58:10

Nur echte Dateien mit grep durchsuchen?

Beitrag von DaCoda » 29.05.2020 17:09:52

Ich will testen ob ein bestimmtes Wort in irgendeiner Datei im Klartext vorkommt.

Also habe ich es mit

Code: Alles auswählen

sudo grep -r DasWort /
versucht.

Das Problem ist, dass er anfängt virtuelle Dateien zu durchsuchen:
  • den Arbeitsspeicher anderer Programme (/proc/913/task/1038/mem)
  • Was ist das? (/sys/kernel/slab/:0000208/order)
  • Was ist das? (/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/resource0)
Und nach einer halben Stunde habe ich den Prozess beendet.

Wie kann man also solche virtuellen Dateien ausschließen und sich auf echte Dateien beschränken?

reox
Beiträge: 2464
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Nur echte Dateien mit grep durchsuchen?

Beitrag von reox » 29.05.2020 17:39:19

vielleicht reicht dir

Code: Alles auswählen

grep -I -D skip -r DasWort /
wobei er geht dann immer noch nach /sys rein... Das kann man aber noch mit --exclude-dir ausnehmen

Benutzeravatar
Meillo
Moderator
Beiträge: 8817
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Nur echte Dateien mit grep durchsuchen?

Beitrag von Meillo » 29.05.2020 19:17:06

Wenn du so aufwaendig suchst, dann solltest du die Suche optimieren. Wenn es ein String ist, verwende fgrep(1), das ist schneller. Verwende ggf. `-w'.

Statt eines solchen Monsteraufrufs, wuerde ich eher jedes top-level Verzeichnis separat durchgehen. Die sind ja unterschiedlich interessant. In /bin beispielsweise wirst du keine validen Treffer haben (falls du nach sowas wie einem Passwort o.ae. suchst).

`-I' kann Sinn machen, ggf. findest du dadurch aber relevante Treffer nicht. Das kommt drauf an.
Use ed once in a while!

uname
Beiträge: 12075
Registriert: 03.06.2008 09:33:02

Re: Nur echte Dateien mit grep durchsuchen?

Beitrag von uname » 30.05.2020 08:05:40

Was ist denn überhaupt dein Ziel?

Antworten