Не должно быть разницы, -P или без -P, но есть. -P слишком много соответствует.
С помощью этого теста я должен получить ту же цифру, потому что я говорю список каждой строки, которая соответствует xyz, и в этом списке вывода каждая строка, которая соответствует xyz. Работает без -P.
C:\blah>"C:\Program Files (x86)\GnuWin32\bin\grep.exe" -V GNU grep 2.5.4 Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. C:\blah>
ОБНОВИТЬ
Интересно, что Cygwin гораздо позже .. и не имеет ошибки
C:\blah\aeea2\a\a\a\a>c:\cygwin\bin\grep -P "[^J]*J" blahsomefile1 | wc -l 51814 C:\blah>c:\cygwin\bin\grep -V /usr/bin/grep (GNU grep) 2.21 Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Mike Haertel and others, see <http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>. C:\blah>
Gnuwin32 grep все еще на 2.5.4, очень старая версия.
Я не могу воспроизвести эту проблему в Linux, используя текущую версию GNU grep: 2.26. Возможно, вы захотите узнать, можете ли вы обновить свое программное обеспечение: [версия 2.5.4 датируется 2009 годом] (http://ftp.gnu.org/gnu/grep/)
John1024 7 лет назад
1
1 ответ на вопрос
0
barlop
Это может быть ошибка в grep 2.5.4
Если у вас есть выбор между gnuwin32 grep или cygwin grep, cygwin grep будет гораздо более современным.
-V показывает версию и год, и что на момент написания -
gnuwin32 grep - это версия 2.5.42009 года.
greg cygwin на годы опережает grep gnuwin32. 2.21(это позже, чем 2.5.4, потому что 2.21 не похож на одно арифметическое число с десятичной запятой), а год greg cygwin - 2014.
Не вижу ошибки там с cygwin grep, который является 2014.
Это не первый раз, когда я сталкиваюсь с ошибкой в gnuwin32-версии grep, когда cygwin-версия grep была намного позже и в порядке. Gnuwin32, кажется, очень устарел по сравнению с альтернативами.