GNU bug report logs - #54174
(MacOS Monterey 12.2.1: zsh): grep "string" * is interpreted as grep -V when directory has a filename "-Vfilename.ext"

Previous Next

Package: grep;

Reported by: Marja Koivunen <marja <at> innomore.com>

Date: Sat, 26 Feb 2022 22:33:02 UTC

Severity: normal

Done: Bob Proulx <bob <at> proulx.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Gary Johnson <garyjohn <at> spocom.com>
To: 54174 <at> debbugs.gnu.org
Subject: bug#54174: (MacOS Monterey 12.2.1: zsh): grep "string" * is interpreted as grep -V when directory has a filename "-Vfilename.ext"
Date: Sat, 26 Feb 2022 14:55:33 -0800
On 2022-02-26, Marja Koivunen wrote:
> I had a directory with filenames that started with “-“
> 
> doing grep on that directory for a “string" did not find anything
> although “string was on some of the files”
> 
> grep just kept repeating something … FreeBSD
> 
> Finally, (with some help) I understood that grep interpreted “-Vfiename” as an option -V and 
> gave the version info instead of doing grep “string” *

The usual solution for that problem is to use "--" to indicate that
the words following are file names and not options.  For example, if
you execute

    grep string *

in a directory containing some file names beginning with "-", those
names will be treated as options.  If instead you execute

    grep string -- *

then all file names will be treated as file names.

An example of this is given near the bottom of recent versions of
the grep(1) man page, under EXAMPLES.

Regards,
Gary





This bug report was last modified 3 years and 83 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.