2014-07-24 10 views
5

Jedesmal, wenn ich einen Typ in ack fügen scheinen versuchen hinzuzufügenkann nicht auf einen Typ in ack

einen Typ ( log) in ack zum Scheitern verurteilt wie zB das Hinzufügen
ack --type-set log:ext:log 
ack: No regular expression found. 

oder

ack --type-add log:ext:log 
ack: No regular expression found. 

Wer eine Ahnung hat dies oder es nur

Antwort

2

Machen sie es wie folgt aus:

ack --type-set=log:ext:log --log searchterm 

oder wenn Sie versuchen, Protokolldateien zu ignorieren.

ack --type-set=log:ext:log --nolog searchterm 

Wenn dieses Log-Format ist etwas, Sie gehen zu viel zu, dann wollen Sie die Zeile in .ackrc Datei hinzuzufügen. Die Argumente in Ihrem .ackrc werden jedes Mal ausgeführt, wenn Sie ack ausführen.

Weitere Informationen finden Sie unter "Definieren eigener Typen" nach dem Ausführen von "ack --man".

+0

Es hilft nicht :(Unbekannte Option: log/nolog –

+0

Dies ist wahrscheinlich nicht der beste Ort, um dies zu diskutieren. Ich schlage vor, auf der Mail-Liste ack-users, oder im schlimmsten Fall ein Problem in ack GitHub-Warteschlange : https://github.com/petdance/ack2/ –

+1

Entschuldigung, ich dachte nur, dass die SO der richtige Ort für technische Diskussionen ist :) Ich fand die Lösung übrigens, siehe meine Antwort oben. Es ist einfach nicht klar aus Ihrer Antwort: Ist der '--log' ein extra Schalter mit einer vordefinierten Bedeutung, ist dies eine kurze Art den Typ namens 'log' zu verwenden. –

3

Wenn Sie eine neue Art an Ort und Stelle ausprobieren, dann einen Befehl wie folgt verwenden:

ack --type-set proj:ext:csproj --type proj "some search pattern" 

dies zeigt Ihnen Ergebnisse für den angegebenen Typ zu suchen.

Wenn Sie die Art dauerhaft speichern wollen, dann müssen Sie die folgende Zeile in $HOME/.ackrc hinzu:

--type-set=proj:ext:csproj 

Zwei Dinge zu beachten:

  • Der erste Befehl doesn‘ t Setzen Sie die Konfiguration dauerhaft, nur probieren Sie es aus.
  • Die zweite Zeile in der Datei .ackrc sollte = (gleich) anstelle eines Leerzeichens haben.

UPDATE (aus der Antwort der Andy Lester heraus):

Statt --type your_type_name Sie können Abkürzung --your_type_name schreiben.