Chapter 18. Advanced sed
IN THIS CHAPTER
Digging deeper with sed
Handling multiple lines
Branching with labels
Using sed in scripts
Chapter 16 showed how to use the basics of the sed editor to manipulate text in data streams. The basic sed editor commands are capable of handling most of your everyday text-editing requirements. This chapter takes a look at the more advanced features that the sed editor has to offer. These are features that you might not use as often, but when you need them, it's nice to know that they're there and how to use them.
When using the basic sed editor commands you might have noticed a limitation. All of the sed editor commands perform functions on a single line of data. As the sed editor reads a data stream, it divides the data into lines based on the presence of newline characters. The sed editor processes each line of data one at a time, processing the defined script commands on a line of text, then moving on to the next line and repeating the process.
There are times when you need to perform actions on data that spans more than one line. This is especially true if you're trying to find or replace a phrase.
For example, if you're looking for the phrase Linux System Administrators Group in your data, it's quite possible that the phrase can be split into two lines between any of the words in the phrase. If you processed the text using a normal sed editor command, it would be impossible to detect how the phrase was split.