Chapter 18. Advanced sed


  • Digging deeper with sed

  • Handling multiple lines

  • Holding 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.

Multiline Commands

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.

Fortunately, ...

Get Linux® Command Line and Shell Scripting Bible now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.