re: Processing Text with Linux Shell - Part 1 VIEW POST

re: IIRC on mac sed -i behaves differently - The default is not GNU sed. I believe you can brew it to get the good one

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:

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.

code of conduct - report abuse