ack ist eine Alternative zu grep.
Um die Standardfarben zu ändern, gibt es entsprechende Kommandozeilenparameter bzw. Umgebungsvariablen:
Bedeutung | Kommodozeile | Umgebungsvariable |
---|---|---|
Zeilennummer | --color-lineno | ACK_COLOR_LINENO |
Dateiname | --color-filename | ACK_COLOR_FILENAME |
Fundstelle | --color-match | ACK_COLOR_MATCH |
Diese Parameter akzeptieren folgende Argumente:
Vordergrundfarbe:
black red green yellow blue magenta cyan white bright_black bright_red bright_green bright_yellow bright_blue bright_magenta bright_cyan bright_white
Hintergrundfarben:
on_black on_red on_green on yellow on_blue on_magenta on_cyan on_white on_bright_black on_bright_red on_bright_green on_bright_yellow on_bright_blue on_bright_magenta on_bright_cyan on_bright_white
Vorder- und Hintergrundfarben können auch kombiniert werden:
ack test --color-match="on_red white"
Unter Ubuntu (und anderen Debian-basierten Distributionen wie Linux Mint) wird ack als ack-grep
installiert und aufgerufen. Um einfach ack
verwenden zu können, kann man nach der Installation ein „divert“ machen:
sudo apt-get install ack-grep sudo dpkg-divert --local --divert /usr/bin/ack --rename --add /usr/bin/ack-grep
Alternativ kann auch ein Alias eingerichtet werden:
alias ack=ack-grep
Dies ist in aktuelleren Distributionen nicht mehr nötig, dort ist ack
dirket als Befehl verfügbar.
Ab Version 2 ist es möglich, Dateien bei der Suche zu ignorieren. Dabei können explizit einzelne Dateien
ack --ignore-file=is:example.txt PATTERN #explicit filename ack --ignore-file=match:/(gnu)?makefile/ PATTERN #match filename against regexp, case-insensitive
oder alle Dateien mit einer bestimmen Dateinamenerweiterung ausgenommen werden:
ack --ignore-file=ext:txt PATTERN #one extension, without dot ack --ignore-file=ext:txt,aux PATTERN #two or multiple extension, without dot
Dateitypen (meist mehrere Dateinamenerweiterung) können mit
ack --noTYPENAME
ignoriert werden. Die Liste der Dateitypen, die ack bekannt sind, kann mit
ack --help-types
angezeigt werden.
Soll oder kann ack nicht über den Paketmanager installiert wenn, kann ack auch als "single-file version" heruntergeladen werden.