sed: support \r in s command
function old new delta copy_parsing_escapes 65 91 +26 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
52d8370836
commit
6a0abcc02f
@ -218,8 +218,9 @@ static char *copy_parsing_escapes(const char *string, int len)
|
|||||||
char *dest = xmalloc(len + 1);
|
char *dest = xmalloc(len + 1);
|
||||||
|
|
||||||
parse_escapes(dest, string, len, 'n', '\n');
|
parse_escapes(dest, string, len, 'n', '\n');
|
||||||
/* GNU sed also recognizes \t */
|
/* GNU sed also recognizes \t and \r */
|
||||||
parse_escapes(dest, dest, strlen(dest), 't', '\t');
|
parse_escapes(dest, dest, strlen(dest), 't', '\t');
|
||||||
|
parse_escapes(dest, dest, strlen(dest), 'r', '\r');
|
||||||
return dest;
|
return dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -287,6 +287,9 @@ testing "sed -i with address modifies all files, not only first" \
|
|||||||
"cp input input2; sed -i -e '1s/foo/bar/' input input2 && cat input input2; rm input2" \
|
"cp input input2; sed -i -e '1s/foo/bar/' input input2 && cat input input2; rm input2" \
|
||||||
"bar\nbar\n" "foo\n" ""
|
"bar\nbar\n" "foo\n" ""
|
||||||
|
|
||||||
|
testing "sed understands \r" \
|
||||||
|
"sed 's/r/\r/'" \
|
||||||
|
"\rrr\n" "" "rrr\n"
|
||||||
|
|
||||||
# testing "description" "arguments" "result" "infile" "stdin"
|
# testing "description" "arguments" "result" "infile" "stdin"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user