Hi, Recently noticed that our sed(1) differs from its GNU analog in that in -i mode it considers all files as a single sequence of lines while the latter treats each file independently. The in-line mode isn't in POSIX, so it isn't really clear which way is correct.
Here is a couple of practical consequences: - our sed won't act on a numeric range of lines in each file, as in: sed -i '' 2,5d *, which may be counter-intuitive. - our sed's line ranges can span file boundaries in -i mode. If the second feature isn't important, I think we should use a separate line space for each file edited in-line, which is usually desired. Comments? P.S. Attached are a test script and outputs from it for our sed and GNU sed as found in a Linux I have access to. -- Yar %%%%% sed.t %%%%% #!/bin/sh files="1 2 3" lines="1 2 3 4 5" makefiles() { for f in $files; do for n in $lines; do echo $n done > $f done } echo "### Test 1 ###" makefiles sed -i.bak 1,3d $files tail $files echo "### Test 2 ###" makefiles sed -i.bak /5/,/2/d $files tail $files %%%%% output using our sed %%%%% ### Test 1 ### ==> 1 <== 4 5 ==> 2 <== 1 2 3 4 5 ==> 3 <== 1 2 3 4 5 ### Test 2 ### ==> 1 <== 1 2 3 4 ==> 2 <== 3 4 ==> 3 <== 3 4 %%%%% output using GNU sed %%%%% ### Test 1 ### ==> 1 <== 4 5 ==> 2 <== 4 5 ==> 3 <== 4 5 ### Test 2 ### ==> 1 <== 1 2 3 4 ==> 2 <== 1 2 3 4 ==> 3 <== 1 2 3 4 %%%%% END %%%%% _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"