grep: add proper support for pattern_list
From POSIX.1-2008: The pattern_list's value shall consist of one or more patterns separated by <newline> characters; As such, given patterns need to be split at newline characters. Without doing so, busybox grep will interpret the newline as part of the pattern which is not in accordance with POSIX. See also: https://bugs.busybox.net/show_bug.cgi?id=12721 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
committed by
Denys Vlasenko
parent
c3295d233b
commit
42a8984abc
@@ -190,6 +190,18 @@ testing "grep -x -v -e EXP1 -e EXP2 finds nothing if either EXP matches" \
|
||||
"" \
|
||||
" aa bb cc\n"
|
||||
|
||||
testing "grep PATTERN can be a newline-delimited list" \
|
||||
'grep -Fv "$(printf "foo\nbar\n")"' \
|
||||
"baz\n" \
|
||||
"" \
|
||||
"foo\nbar\nbaz\n"
|
||||
|
||||
testing "grep -e PATTERN can be a newline-delimited list" \
|
||||
'grep -Fv -e "$(printf "foo\nbar\n")"' \
|
||||
"baz\n" \
|
||||
"" \
|
||||
"foo\nbar\nbaz\n"
|
||||
|
||||
# -r on symlink to dir should recurse into dir
|
||||
mkdir -p grep.testdir/foo
|
||||
echo bar > grep.testdir/foo/file
|
||||
|
Reference in New Issue
Block a user