В поисках квадратной скобки с zipgrep

328
Robin Green

Я пробовал это в Cygwin и Git-Bash - тот же результат.

При использовании обычного grep [символ в шаблоне может быть экранирован обратной косой чертой, чтобы указать, что [нужно искать буквальный символ.

Но это не работает с 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 [= 

Даже выход из него дважды не работает:

$ 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 [= 

И попытка указать, что весь шаблон является фиксированной строкой, а не регулярным выражением, также не работает:

$ 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 

Как я могу найти [символ внутри содержимого почтового файла?

1
`zipgrep` - это скрипт. Попробуйте спросить у автора, как скрипт может быть сломан. DavidPostill 5 лет назад 0
Попробуйте указать его как `[[]` или даже тройной `\\\ [`. harrymc 5 лет назад 0

1 ответ на вопрос

1
Robin Green

Как предлагается в комментариях:

$ 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 

похоже на работу.