Currently there is a bug in sed that makes it only replace first
file when an "address" is specified:

 sed -i -e '1{s/foo/bar/}' one two

Will only replace 'one' and not 'two'.
---
 testsuite/sed.tests |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/testsuite/sed.tests b/testsuite/sed.tests
index 3301a25..20ecd54 100755
--- a/testsuite/sed.tests
+++ b/testsuite/sed.tests
@@ -270,11 +270,19 @@ testing "sed a cmd ended by double backslash" \
        | two \\
 '
 
-# 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
 testing "sed with N skipping lines past ranges on next cmds" \
        "sed -n '1{N;N;d};1p;2,3p;3p;4p'" \
        "4\n4\n" "" "1\n2\n3\n4\n"
 
+$ECHO "foo" > sed.one 
+$ECHO "foo" > sed.two
+testing "sed with address modifies all files not only first" \
+       "sed -i -e '1s/foo/bar/' sed.one sed.two && cat sed.one sed.two" \
+       "bar\nbar\n" "" ""
+rm -f sed.one sed.two
+
+
 # testing "description" "arguments" "result" "infile" "stdin"
 
 exit $FAILCOUNT
-- 
1.7.2.1

_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to