Rationalizing sed -i/-I (in-place editing) argument handling
Steffen Nurpmeso
steffen at sdaoden.eu
Mon Mar 8 21:19:57 UTC 2021
Ian Lepore wrote in
<8e9983a4243d158789029ec8b16837b35ca4451a.camel at freebsd.org>:
|On Mon, 2021-03-08 at 15:13 -0500, Ed Maste wrote:
|> A relatively minor but longstanding incompatibility between FreeBSD
|> and many other systems is the way sed handles backup files for
|> in-place editing -- sed's -I and -i options. GNU sed and other BSDs
|> accept an optional argument: -I.bak will save a backup file with a
|> .bak extension, and -I with no argument will not create a backup
|> file.
|> FreeBSD currently accepts either -I.bak or -I .bak to save a backup
|> with the given extension, and -I "" (an empty argument) to specify no
|> backup.
|>
|> I've been tripped up by this in the past and I know many others have.
|> Most recently tobik@ filed PR 254091 for this. Now, I think a single
...
|> change to make -i/-I to be compatible with other sed implementations
|> in one step is too much of a POLA violation, but I think it can
|> reasonably be done in stages:
|>
|> 1. Update the man page to indicate that -i/-I should not have a space
|> between the flag and the extension. This is compatible with current
|> FreeBSD sed, other BSDs sed, GNU sed, and my proposed changes below.
|> No backup is still a special case and remains as -I "".
...
|As someone who has to take care of common software that runs on
|everything from freebsd 8 through -current, I HATE the very idea of
|this. If we keep whittling away at the backwards compatibility freebsd
|is so famous for, I'll have abosolutely zero arguments left for why
|$work shouldn't just switch to the much more popular and better-
|supported linux.
|
|I also hate the idea of requiring no space between -I and its related
|value. That seems like a huge POLA violation compared to how virtually
|every other command's options and arguments work.
I hate it too. But just wanted to note that sccs used this (and
still does, even standardized) decades ago already (and i always
did it wrong).
--steffen
|
|Der Kragenbaer, The moon bear,
|der holt sich munter he cheerfully and one by one
|einen nach dem anderen runter wa.ks himself off
|(By Robert Gernhardt)
More information about the freebsd-hackers
mailing list