On 12/17/2018 8:05 AM, Steven Penny wrote:
On Mon, 17 Dec 2018 13:22:48, Ondřej Surý wrote:
# No amount of options makes the grep find the text in the file
$ ./grep-3.0-2.exe 'foo$’ crlf.txt
$ ./grep-3.0-2.exe -U 'foo$' crlf.txt
$ ./grep-3.0-2.exe -a 'foo$’ crlf.txt
Your commands are failing because you are not accounding for the carriage
returns. as was said, this change was intentionally done for the purpose of
making scripts MORE portable:
And the portability is what we want to keep.
https://cygwin.com/ml/cygwin/2017-02/msg00155.html
if you want to keep your grep command, you need to remove CR first:
$ printf 'alpha\r\nbeta\r\n' > CRLF.txt
$ tr -d '\r' < CRLF.txt | grep 'a$'
This is the POSIX method to get portability and Cygwin is POSIX for
Windows. Therefore the bits of documentation for MS-DOS and MS-Windows
isn't in affect for Cygwin grep. In other words the following is in
affect but can be misinterpreted because Cygwin runs on MS-Windows but
isn't considered such.
"This option has no effect on platforms other than MS-DOS and
MS-Windows."
alpha
beta
--
cyg Simple
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple