Re: [PATCH 2/2] t9200: avoid grep on non-ASCII data
- From
John Keeping <john@keeping.me.uk>
- Date
- Feb 21, 2016, 23:43 UTC
- Message-ID
- <20160221234345.GB14382@river.lan>
- In-Reply-To
- <CAPig+cQkcUPD5+0rUPkKCcJSzRC0NkuRYKHmW54eZ041PqaqmQ@mail.gmail.com>
On Sun, Feb 21, 2016 at 04:15:31PM -0500, Eric Sunshine wrote:
Show 20 quoted lines
> On Sun, Feb 21, 2016 at 12:32 PM, John Keeping <john@keeping.me.uk> wrote:
> > GNU grep 2.23 detects the input used in this test as binary data so it
> > does not work for extracting lines from a file. We could add the "-a"
> > option to force grep to treat the input as text, but not all
> > implementations support that. Instead, use sed to extract the desired
> > lines since it will always treat its input as text.
> >
> > Signed-off-by: John Keeping <john@keeping.me.uk>
> > ---
> > diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
> > @@ -35,7 +35,7 @@ exit 1
> > check_entries () {
> > # $1 == directory, $2 == expected
> > - grep '^/' "$1/CVS/Entries" | sort | cut -d/ -f2,3,5 >actual
> > + sed -ne '\!^/!p' "$1/CVS/Entries" | sort | cut -d/ -f2,3,5 >actual
>
> This works with BSD sed, but double negatives are confusing. Have you
> considered this instead?
>
> sed -ne '/^\//p' ...What do you mean double negatives? Do you mean using "!" as an alternative delimiter? I find changing delimters is normally simpler than following multiple levels of quoting for escaping slashes, although in this case it's simple enough that it doesn't make much difference.