replace


Inline replacement of all newlines in file with br tag

In case you have some output you want to add it to an HTML document, you need to make some modifications to it to make it appear properly.

One of them would be to replace the newline characters with the <br> tag.

If you have GNU sed, you can use the -i option, which will do the replacement in place.

sed -i 's/$/<br>/' myTextFile.txt

Otherwise you will have to redirect to another file and rename it over the old one.

sed 's/$/<br>/' myTextFile.txt > myTextFile.txt.tmp && mv myTextFile.txt.tmp myTextFile.txt

If you want to perform this change on the results of another command (because you are redirecting it to an email client like mutt) you can use the following example

someCommand | sed 's/$/<br>/' | someOtherCommand

Replace date in files 2

Scenario

You have many simple text log files of a system, where the date is formatted using the slash character / and you want to update the dates to some other date.
Usually when using the sed, the slash character is reserved for separating the parts of the expression you want to evaluate.
In this case though, we can go around this limitation by using another symbol as the separator, leaving the slash character available for us to use in our regular expression.

Example

The following example demonstrates just that. You will see that we used the colon character : in the place of the separator allowing us to use the slash character / in the expression.


sed -i 's:2015/01/06:2015/01/15:g' *.log

What we did here was change the character that sed uses to delimit its options with :, this way we could use / as any other character.
All log files in that folder will get automatically updated since we used *.log at file selection parameter.
The -i parameter instructs sed to make all replacements in place. i.e. All files will be modified to reflect the changes, it will not create new ones.