Ich habe ein Verzeichnis wie folgt (angegeben 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 Ausführen ack . -f
werden die Dateien im Verzeichnis ausgedruckt:
index.html
Wie kann ich die Verzeichnisse im Verzeichnis ausdrucken lassen ? Ich möchte das .git
Verzeichnis ignorieren (was meines Erachtens das Standardverhalten für ack ist). Wie kann ich in diesem Sinne bestimmte Verzeichnisse ignorieren?
Ich verwende ack 1.9.6 unter Mac OSX 10.8.2.
xargs
. Meine Optionen sind find --print0
(seltsame Syntax, ich versuche, mich davon fernzuhalten) und ack --print0
beide leiten sich leicht ein xargs -0
.
ack --print0
weniger seltsam als find -print0
? Wenn Sie einen Befehl finden, an den Sie sich nur schwer erinnern können, erstellen Sie einen Alias.
find . -name .git -a -type d -prune -o -type f -print0
vereinfacht zu ack . -f --print0
. Ebenso möchte ich einen Weg finden, einfach find . -name .git -a -type d -prune -o -type d -print0
in sein Ack-Äquivalent zu gelangen.