Supply a suffix to the -i option, the original gets renamed with the suffix appended, and the temp file gets renamed to the original name.
This was found by checking the file dates from a long listing, not strace-ing the execution.
This may also provide a work-around for Robert, requiring the removal of the backup file, but at least the original named file has the edited content, as desired.
Bob
Max Bowsher wrote:
Robert Mecklenburg wrote:I seem to be having problem with the -i flag in sed 4.0.1 in the latest cygwin release. The docs state -i places output in a tmp file and renames the tmp to the original when finished. It appears the rename is not happening for me:[snip example]I did a quick bit of strace-ing, and it seems that sed isn't closing the input and output files before doing the rename. Unsurprisingly, this fails with "Access is denied.". But sed is trying to close the files. It gets as far as lib/utils.c:ck_fclose(stream), but then it does something complicated with a linked list, and ends up never calling do_ck_fclose(), which would actually call fclose(). Right, I've got no more time now, so hopefully someone else will take my analysis, and finish tracking down this bug. Max. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
-- Bob McGowan Staff Development Engineer VERITAS Software [EMAIL PROTECTED] -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/