Ich möchte über ein Suchprogramm sprechen, das das Leben erheblich vereinfacht. Wenn ich zum Server komme und nach etwas suchen muss, überprüfe ich zuerst, ob ack installiert ist. Dieses Dienstprogramm ist ein großartiger Ersatz für grep sowie find und wc in gewissem Maße. Warum nicht grep? Ack hat sofort bessere Einstellungen, besser lesbare Optionen, Perl-Stammgäste und ein Konfigurationssystem. Wenn du liebst(müssen, zu ... haben) durchsuchen Sie das Terminal, dann sollten Sie es auf jeden Fall versuchen.
Grundfunktionen
Ack ist standardmäßig rekursiv und das Schreiben von weniger Optionen ist immer gut.
Wir können das Flag -w verwenden , um das Dienstprogramm anzuweisen, nach einer Instanz unserer Vorlage zu suchen, die von Wortgrenzen (Leerzeichen, Schrägstrich usw.) umgeben ist.
ack -w mysql

Ack unterstützt die Suche nach Dateitypen. Suchen Sie beispielsweise die Version des Moduls in JSON-Dateien.
ack --json '"version":\s+"\d+\.\d+\.\d+"'

Eine vollständige Liste der unterstützten Dateitypen finden Sie unter:
ack --help-types
Oft muss berechnet werden, wie oft eine Phrase in einer Protokolldatei vorkommt, um beispielsweise zu verstehen, wie viele Daten das Skript verarbeitet hat.

Wir zählen, wie oft der Prozess in der Datei test.log stattfindet, ohne die Groß- und Kleinschreibung zu beachten ( -i ).
, . mysql: - (-) *.js (--js), (-h) .
ack --js -w mysql
ack --js -wch mysql

, - (-l)
ack --js -w -cl mysql

c, ack
(-B) (-A) . - , .
ack --js --column -B 2 "query.once\('" ./lib/

ack --js --column -A 2 "query.once\('" . /lib/

, (-)
ack --js --column -C 2 "query.once\('" ./lib/
(-v) , . .
Ack grep Perl .
, .
ack 'var\s+add\s+'

ack '\*\s+\[v\d+\.\d+\.\d+\]'

, . --output (-o)
ack -o '\*\s+\[v\d+\.\d+\.\d+\]'

, output $[ ]. ,
ack --output='version is $1' '\*\s+\[v(\d+\.\d+\.\d+)\]'

Ack --range-start --range-end. ,
, .
, sql

. SELECT, FROM.
ack --range-start ^SELECT --range-end ^FROM 't\d+\.' ./test.sql

, , \, -Q.
ack --json 'mysql\.'
ack --json -Q mysql.

ack -f --js

js P*, (-g).
ack -g --js '\/Pa.+.js$'

. (~/.ackrc), ( .ackrc).
, . .
--ignore-dir=dist
--vue.
--type-add=vue:ext:js,vue
--vue, .vue. : ack --vue App.
. , --vue .js .
, , *.min.js
--ignore-file=match:/\.min\.js$/
CentOS
yum update -y && yum install ack -y
Ubuntu
apt-get update -y && apt-get install ack-grep -y
Mac OS
brew update && brew install ack
curl https://beyondgrep.com/ack-v3.3.1 > ~/bin/ack && chmod 0755 ~/bin/ack
:
. , :
ack –-help
ack --man
ack . pipeline (ack -C 10 hello | ack world) .