Ich habe eine lokale SVN-Kopie, ich möchte eine Suche auf der Zeichenfolge some_string machen.
$ grep some_string * -r
lang/en:some_string=Some string
lang/.svn/en:some_string=Some string
Wenn Sie jedoch etwas weiter gehen, scheinen versteckte Verzeichnisse der ersten Ebene ausgeschlossen zu sein:
$ cd lang && grep some_string * -r
en:some_string=Some string
Wie kann ich die versteckten SVN-Verzeichnisse aus meiner Ausgabe entfernen und nicht nur aus der ersten Tiefenebene?
$ grep some_string * -r --which_option_here?
lang/en:some_string=Some string
Antworten:
Verwenden Sie
--exclude-dir
Option, zum Beispiel:Von
man grep
:Beachten Sie jedoch, dass diese
--exclude-dir
Option nur in GNU grep verfügbar ist. Wenn es von Ihnengrep
nicht unterstützt wird, müssen Sie möglicherweise ein anderes Tool verwenden, z. B . :quelle
find
Version aus, wenn dein grep nicht unterstützt--exclude-dir
.--exclude-dir
, haben Sie es versucht?Normalerweise benutze ich folgendes:
${e%\./}
Entfernt das erste./
und danngrep
alles, was mit einem Punkt beginnt.quelle
e#
, Text sagte%