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