We're a place where coders share, stay up-to-date and grow their careers.
Hi. I have never used any mac. Would you kindly provide details of sed -i behavior so I can update this article accordingly?
sed -i
BSD sed expects -i to take a file extension so it can save a backup.
-i
Instead of using this:
sed -i YOUR_COMMANDS_HERE foo.txt
you can use something like the following, which will make a backup file and then immediately delete it if the command succeeded:
sed -i.bak YOUR_COMMANDS_HERE -- foo.txt && rm -- "foo.txt.bak"
That looks a little nasty, but it's portable; GNU sed's -i also takes a file extension as an optional argument.
Hi. I have never used any mac. Would you kindly provide details of
sed -i
behavior so I can update this article accordingly?BSD sed expects
-i
to take a file extension so it can save a backup.Instead of using this:
you can use something like the following, which will make a backup file and then immediately delete it if the command succeeded:
That looks a little nasty, but it's portable; GNU sed's
-i
also takes a file extension as an optional argument.