Es sollte keinen Unterschied geben, ob -P oder ohne -P, aber es gibt einen Unterschied. Das -P passt zu sehr.
Bei diesem Test sollte ich die gleiche Zahl erhalten, weil ich sage, dass jede Zeile, die mit xyz übereinstimmt, und jede Zeile, die mit xyz übereinstimmt, in dieser Ausgabeliste aufgeführt ist. Es funktioniert ohne -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>
AKTUALISIEREN
Interessanterweise ist der von Cygwin viel später ... und hat den Fehler nicht
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 ist immer noch auf 2.5.4, einer sehr alten Version.
Ich kann dieses Problem unter Linux nicht mit der aktuellen Version von GNU grep: 2.26 reproduzieren. Vielleicht möchten Sie herausfinden, ob Sie Ihre Software aktualisieren können: [Version 2.5.4 bis 2009] (http://ftp.gnu.org/gnu/grep/)
John1024 vor 7 Jahren
1
1 Antwort auf die Frage
0
barlop
Dies kann ein Fehler in grep 2.5.4 sein
Wenn Sie zwischen gnuwin32 grep oder cygwin grep wählen können, ist cygwin grep weitaus aktueller.
-V zeigt Version und Jahr, und das wie schriftlich -
gnuwin32 grep ist Version 2.5.4, die 2009 liegt. Jahre hinterher.
cygwin grep ist gnuwin32 grep um Jahre voraus. 2.21(das ist später als 2.5.4, da 2.21 nicht wie eine arithmetische Zahl mit Dezimalpunkt ist) und das Jahr von cygwin's grep ist 2014.
Sehen Sie dort keinen Fehler mit cygwin grep, was 2014 ist.
Dies ist nicht das erste Mal, dass ich auf einen Fehler in der gnuwin32-Version von grep gestoßen bin, als die cygwin-Version von grep viel später und in Ordnung war. gnuwin32 scheint im Vergleich zu Alternativen sehr veraltet zu sein.