What does sed -i option do?

An applicable use of this is as follows. Say you have the following file file.txt:

1, 2, 6, 7, "p" 

We want to replace “p” with 0.

sed 's/"p"/0/g' file.txt

Using the above simply prints the output into command line.

You’d think why not just redirect that text back into the file like this:

sed 's/"p"/0/g' file.txt > file.txt

Unfortunately because of the nature of redirects the above will simply produce a blank file.

Instead a temp file must be created for the output which later overwrites the original file something like this:

sed 's/"p"/0/g' file.txt > tmp.txt && mv tmp.txt file.txt

Instead of doing the long workaround above sed edit in place option with -i allows for a much simpler command:

sed -i 's/"p"/0/g' file.txt

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)