Suche nach eckigen Klammern mit zipgrep

563
Robin Green

Ich habe dies in Cygwin und git-bash ausprobiert - gleiches Ergebnis.

Mit normalem grep kann ein [Zeichen im Muster mit einem Backslash gekennzeichnet werden, um anzuzeigen, dass nach einem Literal [gesucht werden soll.

Das funktioniert aber nicht mit zipgrep:

$ zipgrep '\[HashMap' /c/Users/greerob/.gradle/caches/modules-2/files-2.1/com.twitter/jsr166e/1.1.0/7558d13056c1f98be269fed58ae5a8e76c7616d4/jsr166e-1.1.0-sources.jar grep: Unmatched [, [^, [:, [., or [= 

Selbst zweimal zu entkommen funktioniert nicht:

$ zipgrep '\\[HashMap' /c/Users/greerob/.gradle/caches/modules-2/files-2.1/com.twitter/jsr166e/1.1.0/7558d13056c1f98be269fed58ae5a8e76c7616d4/jsr166e-1.1.0-sources.jar grep: Unmatched [, [^, [:, [., or [= 

Der Versuch, anzugeben, dass das gesamte Muster eine feste Zeichenfolge und kein regulärer Ausdruck ist, funktioniert ebenfalls nicht:

$ zipgrep -F '[HashMap' /c/Users/greerob/.gradle/caches/modules-2/files-2.1/com.twitter/jsr166e/1.1.0/7558d13056c1f98be269fed58ae5a8e76c7616d4/jsr166e-1.1.0-sources.jar grep: conflicting matchers specified 

Wie kann ich [im Inhalt einer ZIP-Datei nach einem Zeichen suchen ?

1
`zipgrep` ist ein Skript. Fragen Sie den Autor, da das Skript möglicherweise defekt ist. DavidPostill vor 5 Jahren 0
Versuchen Sie es als `[[]` oder sogar als dreifaches `\\\ [`. harrymc vor 5 Jahren 0

1 Antwort auf die Frage

1
Robin Green

Wie in den Kommentaren vorgeschlagen:

$ zipgrep '[[]HashMap' /c/Users/greerob/.gradle/caches/modules-2/files-2.1/com.twitter/jsr166e/1.1.0/7558d13056c1f98be269fed58ae5a8e76c7616d4/jsr166e-1.1.0-sources.jar 

scheint zu funktionieren.