Der Platzhalter *.h
wird von Ihrer Shell erweitert, und ack empfängt nur einzelne Dateien als Argumente - es gibt keinen Platz, zu dem Sie zurückkehren können.
Um dies zu vermeiden, geben Sie den Platzhalter innerhalb einfache oder doppelte Anführungszeichen, aber ack wird wahrscheinlich nicht erkennen es als Platzhalter: ack "#define" "*.h"
.
Eine bessere Option ist es --hh
, nur Header-Dateien einzuschließen (siehe --help type
) oder -G '\.h$'
nur Dateien einzuschließen, die mit dem angegebenen Perl-Regex übereinstimmen.