Die Linux Befehle find und grep

Mit find kann schnell und einfach nach Dateien und Ordners auf der Festplatte suchen.

Ruft man find ohne Verzeichnisangabe auf, wird der aktuelle Ordner durchsucht.

Suche nach bestimmten Dateiendungen

Der folgende Befehl findet z.B. alle Dateien die mit .png enden. Auf Groß-/Kleinschreibung wird nicht geachtet, so das auch Dateien mit der Endung .PNG gefunden werden.

Möchte man das Ergebnis umkehren (negieren), so muss man nur ein ! mit angeben.  Der folgende Befehl zeigt z.B. alle Dateien, die keine jpg Endung haben.

Mehrere Bedingungen kann man auch verknüpfen. Man kann z.B. Dateien mit einer bestimmten Größe finden. Als Beispiel hier alle Dateien größer 100 MB und kleiner 150 MB.

Will man z.B. Nach ein bestimmten Typ suchen wie z.B: Ordner oder Dateien kann man die option -type verwenden. Um ausschließlich nur Verzeichnisse im Ergebnis zu haben muss man z.B. -type d angeben. Das folgende Beispiel findet z.B. alle Ordner mit thumb im Namen innerhalb des Verzeichnisses images/.

f = regular file
d = directory
s = socket
D = door (Solaris)
b = block (buffered) special
c = character (unbuffered) special
p = named pipe (FIFO)
l = symbolic link; this is never true if the -L option or the -follow option is in effect, unless the symbolic link is broken. If you want to search for symbolic links when -L is in effect, use -xtype.

Leider erlaubt die Option -iname keine Slashes bei der Angabe. Will man z.B. bestimmte pfadteile finden, wie images/*/thumbs muss man grob suchen und dann das Ergebnis mit grep einschränken.

Will man z.B. Dateien finden, die älter als 30 Tage sind, so kann man das mit der Option -mtime oder -ctime tun. Das + vor der Zahl steht steht dabei für ‚älter als‘ .

Die Zeitangabe ist hier immer in Tagen. Will man kleinere Zeiteinheiten als ein Tag benutzen, so kann man dies mit -mmin oder -cmin tun.

Aktionen

Mit den Aktionen kann das Ergebnis weiterverarbeitet werden.

Weiterverarbeitung des Ergebnisses

Wenn man z.B. nur die Dateimenge zählen will kann man das Ergebnisses mit der Pipe | an das Programm wc übergeben welches dann die gefundenen Zeilen zählt.

 

Folgende Artikel könnten auch interessieren