Wie bekomme ich eine Liste von Verzeichnissen mit ack?

573
knpwrs

Ich habe eine Verzeichnisliste wie folgt (gegeben von ls -la):

total 8 drwxr-xr-x 6 <user> <group> 204 Oct 18 12:13 . drwxr-xr-x 7 <user> <group> 238 Oct 18 11:29 .. drwxr-xr-x 14 <user> <group> 476 Oct 18 12:31 .git -rw-r--r-- 1 <user> <group> 601 Oct 18 12:03 index.html drwxr-xr-x 2 <user> <group> 68 Oct 18 12:13 test drwxr-xr-x 2 <user> <group> 68 Oct 18 12:13 test2 

Beim Laufen ack . -fwerden die Dateien im Verzeichnis gedruckt:

index.html 

Wie kann ich die Verzeichnisse im Verzeichnis ausdrucken ? Ich möchte das ignorieren.git Verzeichnis (ich verstehe das Standardverhalten von ack). Wie kann ich bestimmte Verzeichnisse ignorieren?

Ich verwende ack 1.9.6 unter Mac OSX 10.8.2.

1
Warum möchten Sie ack zum Auflisten von Dingen anstelle von ls verwenden? Alan Shutko vor 11 Jahren 1
Ich brauche etwas, das ich leicht in "xargs" lenken kann. Meine Optionen sind `find --print0 '(seltsame Syntax, die versucht, sich von ihr fernzuhalten) und` ack --print0', die beide leicht in 'xargs -0' pfeifen. knpwrs vor 11 Jahren 0
Wie ist also "ack --print0" weniger komisch als "find -print0"? Wenn Sie einen Befehl finden, der schwer einzugeben / zu merken ist, geben Sie einen Alias ​​ein. grawity vor 11 Jahren 0
`finden. -name .git -a -type d -prune -o -type f -print0` vereinfacht das Abfragen. -f --print0`. Ebenso möchte ich einen Weg finden, einfach zu finden. -name .git -a -type d -prune -o -type d -print0` in sein Bestätigungsäquivalent. knpwrs vor 11 Jahren 0

1 Antwort auf die Frage

0
Andy Lester

Du kannst nicht ack gilt nur für Dateien, nicht für Verzeichnisse. Es ist ein Textsuchwerkzeug, kein allgemeiner Dateisucher.

Verwenden Sie die --ignore-dirOption, um Verzeichnisse zu ignorieren .