www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2004/08/21/17:15:12

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
From: "Hannu E K Nevalainen" <_garbage_collector_ AT telia DOT com>
To: <cygwin AT cygwin DOT com>
Subject: RE: grep: $ in PATTERN doesn't seem to work properly
Date: Sat, 21 Aug 2004 23:14:14 +0200
Message-ID: <NGBBLLIAMFLGJEOAJCCEEEDPDNAA._garbage_collector_@telia.com>
MIME-Version: 1.0
In-Reply-To: <5C97FD5F888F6C41B267BBBCE94DC4E71B4E74@inhyms21.ca.com>
X-IsSubscribed: yes

Koduru, Seshasai wrote:
> Hi,
>
> When $ is used in the PATTERN of grep command, it doesn't seem to
> work properly on my machine.
>
> I have run the following under cygwin.bat shell.
>
> $ cat tmp
> Line 1
> Line 2
>
> Line 3
> Line 4
> Line 5
>
> $ grep '1$' tmp
> (Gives no output. It should give output as
> Line 1)
SNIP

Note that there is a difference depending on how you create the file; I'll
hand over to cygwin-specialists to explain (or ponder on) why it has to be
this way.

I'm running BINARY mounts all over, still I get the behaviour below.

binmode proof:
$ mount | grep 'binmode' | wc -l
     23
$ mount | wc -l
     23

=== a) ===
$ cd			# cd to $HOME
$ cat >tmp
Line 1
Line 2

Line 3
Line 4
Line 5
$POSIX="" - Hannu AT P450 ~ bash (P)PID=(852)2340, s=0
$ od -w8 -t x1z tmp
0000000 4c 69 6e 65 20 31 0d 0a  >Line 1..<
0000010 4c 69 6e 65 20 32 0d 0a  >Line 2..<
0000020 0d 0a 4c 69 6e 65 20 33  >..Line 3<
0000030 0d 0a 4c 69 6e 65 20 34  >..Line 4<
0000040 0d 0a 4c 69 6e 65 20 35  >..Line 5<
0000050 0d 0a                    >..<
0000052
$ grep '1$' tmp
$ d2u tmp 				# dos2unix
tmp: done.
$ grep '1$' tmp
Line 1

=== b) ===
$ cd
$ ls -l tmp2
ls: tmp2: No such file or directory
$ for (( i=1 ; i<6 ; i++ )) do echo >>tmp2 "Line $i";done
$ od -w7 -t x1z tmp2
0000000 4c 69 6e 65 20 31 0a  >Line 1.<
0000007 4c 69 6e 65 20 32 0a  >Line 2.<
0000016 4c 69 6e 65 20 33 0a  >Line 3.<
0000025 4c 69 6e 65 20 34 0a  >Line 4.<
0000034 4c 69 6e 65 20 35 0a  >Line 5.<
0000043
$ grep '1$' tmp
Line 1

$ rm tmp tmp2

/Hannu E K Nevalainen, B.Sc. EE Microcomputer systems            --72-->

** mailing list preference; please keep replies on list **

-- printf("LocalTime: UTC+%02d\n",(DST)? 2:1); --
--END OF MESSAGE--


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019