[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Possible bug with parameter -m
From: |
Benno Schulenberg |
Subject: |
Re: Possible bug with parameter -m |
Date: |
Thu, 07 Jun 2007 22:07:31 +0200 |
User-agent: |
KMail/1.9.7 |
Stefan Sassenberg wrote:
> I have a file named "file" containing three lines
> line1
> line2
> line3
>
> When I execute the following line in my bash
> "while true; do grep ^ -m 1 ; done <file"
> I expect the output
> line1
> line2
> line3
>
> after three loop runs, one for every line found in the file.
That would indeed be the correct output. From the man page: "If
[...] NUM matching lines are output, grep ensures that the
standard input is positioned to just after the last matching line
before exiting [...]. This enables a calling process to resume a
search." The endless repetition of line2 in your example is a bug
in grep.
It gets weirder when the lines have different lengths:
$ cat file
line1
xxxx
zz
$ while true; do grep ^ -m1 ; done <file
line1
xxxx
ine1
ine1
[...]
$ cat file
line1
xxx
zz
$ while true; do grep ^ -m1 ; done <file
line1
xxx
1
ne1
1
ne1
[...]
$ cat file
line1
xx
zz
$ while true; do grep ^ -m1 ; done <file
line1
xx
e1
e1
e1
e1
[...]
> I'm not sure what happened, but recently that doesn't work
> anymore.
It did work in the past? With what version was that?
Benno