linux-l: Über ganze Verzeichnisse grepen -> ZShell!

Sven Guckes guckes at math.fu-berlin.de
Mi Okt 21 02:53:32 CEST 1998


Quoting aleks at zedat.fu-berlin.de (aleks at zedat.fu-berlin.de):
> wie kann ich über mehr als ein Verzeichnis grepen?
> 	grep suchmuster *
> sucht ja nur im eigenen Verzeichnis. Meine bisherigen Konstruktionenmit
> */*/* nerven, weil ich vorher immer die maximale Verzeichnistiefe wissen muß.
> Ich finde auch kein Parameter zum rekursiv grepen,
> oder ist das ein Shell-Problem?

Bei einer shell mit geeignetem "globbing" geht es einfacher.
Die ZShell ("zsh") bietet da ganz prima Dinge:

	Zaehle alle Zeile, die "img" enthalten in allen *Dateien* ('.'),
	die auf "html" enden und "world readable" sind ('R'), und zwar
	rekursiv in allen Unterverzeichnissen ("**"):
	$ grep -ci img **/*html(.R

	Liste alle *Dateien* in $HOME, deren Name mit einem Punkt beginnt:
	$ ls -la ~/.*(.)

	Liste alle *symlinks*:
	$ ls -l *(@)

	Liste alle lokalen *Unterverzeichnisse*:
	$ ls -l *(/)

Man kann Dateien auch nach Groesse einschraenken und nach Zeit
(auch relativ zur aktuellen Zeit).  Steht alles im Manual. ;-)

Sven  [zsh rules!]

-- 
Sven Guckes guckes at math.fu-berlin.de            using zsh-3.0.5 [961218]
ZSH HomePage: http://www.zsh.org   | Latest version:  zsh-3.1.4 [980601]
ZSH Pages:    http://www.math.fu-berlin.de/~guckes/zsh/  Tips and tricks
ZSH Tips:     http://www.math.fu-berlin.de/~guckes/zsh/tips.html



Mehr Informationen über die Mailingliste linux-l