Holding and getting – the h and g commands

We have already seen that sed has a pattern buffer. sed has one more type of buffer called a holding buffer. With the h command, we can inform sed to store the pattern buffer in the holding buffer. Whenever we need the line that is stored in the pattern buffer, we can get it with the g command, that is, get the buffer.

Here is an example:

    $ sed -e '/Product/h' -e '$g' shopping.txt
  

The output is as follows:

    Product  Quantity  Unit_Price  Total_Cost
    Apple     2          3           6
    Orange    2          .8          1.6
    Papaya    2         1.5          3
    Chicken   3         5            15
    Cashew    1        10            10
    Product  Quantity  Unit_Price  Total_Cost
  

In this example, the line containing the Product pattern is stored in the holding buffer by the h command. Then, the next editing command asks ...

Get Learning Linux Shell Scripting - Second Edition now with O’Reilly online learning.

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