80 |
# Query: how does this interact with no newline at EOF? |
# Query: how does this interact with no newline at EOF? |
81 |
testing "sed n (flushes pattern space, terminates early)" "sed -e 'n;p'" \ |
testing "sed n (flushes pattern space, terminates early)" "sed -e 'n;p'" \ |
82 |
"a\nb\nb\nc\n" "" "a\nb\nc\n" |
"a\nb\nb\nc\n" "" "a\nb\nc\n" |
|
# N does _not_ flush pattern space, therefore c is still in there @ script end. |
|
|
testing "sed N (doesn't flush pattern space when terminating)" "sed -e 'N;p'" \ |
|
|
"a\nb\na\nb\nc\n" "" "a\nb\nc\n" |
|
83 |
} |
} |
84 |
|
# non-GNU sed: N does _not_ flush pattern space, therefore c is eaten @ script end |
85 |
|
# GNU sed: N flushes pattern space, therefore c is printed too @ script end |
86 |
|
testing "sed N (flushes pattern space (GNU behavior))" "sed -e 'N;p'" \ |
87 |
|
"a\nb\na\nb\nc\n" "" "a\nb\nc\n" |
88 |
|
|
89 |
|
testing "sed N test2" "sed ':a;N;s/\n/ /;ta'" \ |
90 |
|
"a b c\n" "" "a\nb\nc\n" |
91 |
|
|
92 |
|
testing "sed N test3" "sed 'N;s/\n/ /'" \ |
93 |
|
"a b\nc\n" "" "a\nb\nc\n" |
94 |
|
|
95 |
testing "sed address match newline" 'sed "/b/N;/b\\nc/i woo"' \ |
testing "sed address match newline" 'sed "/b/N;/b\\nc/i woo"' \ |
96 |
"a\nwoo\nb\nc\nd\n" "" "a\nb\nc\nd\n" |
"a\nwoo\nb\nc\nd\n" "" "a\nb\nc\nd\n" |
97 |
|
|
278 |
| two \\ |
| two \\ |
279 |
' |
' |
280 |
|
|
281 |
# fisrt three lines are deleted; 4th line is matched and printed by "2,3" and by "4" ranges |
# first three lines are deleted; 4th line is matched and printed by "2,3" and by "4" ranges |
282 |
testing "sed with N skipping lines past ranges on next cmds" \ |
testing "sed with N skipping lines past ranges on next cmds" \ |
283 |
"sed -n '1{N;N;d};1p;2,3p;3p;4p'" \ |
"sed -n '1{N;N;d};1p;2,3p;3p;4p'" \ |
284 |
"4\n4\n" "" "1\n2\n3\n4\n" |
"4\n4\n" "" "1\n2\n3\n4\n" |
285 |
|
|
286 |
|
testing "sed -i with address modifies all files, not only first" \ |
287 |
|
"cp input input2; sed -i -e '1s/foo/bar/' input input2 && cat input input2; rm input2" \ |
288 |
|
"bar\nbar\n" "foo\n" "" |
289 |
|
|
290 |
|
|
291 |
# testing "description" "arguments" "result" "infile" "stdin" |
# testing "description" "arguments" "result" "infile" "stdin" |
292 |
|
|
293 |
exit $FAILCOUNT |
exit $FAILCOUNT |