2016-05-13 6 views
0

Ich mag wirklich arbeiten mit Grep für seine robuste Arbeit und Anpassbarkeit. :vimgrep ist zu langsam für mich, grep ohne --include (oder --exclude) auch. Außerdem arbeite ich mit mindestens 8 Dateitypen und --include ist ein riesiger Helfer.grep mit --include in Projekt mit verwerflicher Tiefe

Mein Problem ist, dass:

:grep "ILookForThat" **/*.{c,h}* 

Suche nur ein Katalog Tiefe, während ich mindestens vier müssen.

:grep -R "ILookForThat" --include=*.{c,h}* 

funktioniert nicht (das gleiche mit "*.{c,h}*")

Was ich suche Antwort lautet: Wie grep (nicht vimgrep, ag, oder irgendetwas anderes) Arbeit, oder vielleicht eine Antwort zu machen, wie: "Das sollte definitiv funktionieren".

Ich kann hinzufügen, dass ich 64-Bit Ubuntu 16.04 LTS verwende, entfernte meine Aliase für Grep. Natürlich sind Antworten ohne Quicklist ohne Akzeptanz.

Antwort

2

Nach einigen schnellen Tests ich denke, das sollte für Sie arbeiten, aber es ist ein wenig weitschweifig:

:grep -r --include="*.c" --include="*.h" "ILookForThat" . 

Sie dies in einem benutzerdefinierten Einwickeln in Erwägung ziehen könnte :command wenn es zu ausführlich ist, nützlich zu sein.

+0

Es ist nicht rekursiv und Wildcards sollten immer noch funktionieren, so dass keine Aufteilung erforderlich sein sollte. Endlich wäre es ein lustiges Kommando - wie ich es für mindestens 5 Konfigurationen auf 8 Dateitypen benötige. Ich aperitie wirklich Ihre Versuche und zähle auf Sie :) – pholat

+0

Hoppla, ich habe das -r in meiner Antwort vergessen. Aktualisiert. –

2

:grep -r --include=*.{c,h}* ILookForThat .
Alles funktioniert wie geplant, aber grep verwendet, aus vim hat einen Ausgangspunkt zu haben, die mit einem Punkt Zeichen angegeben.