Holding and exchanging – the h and x commands

This is an exchange command. By using this command, we can exchange the holding buffer with the current line in the pattern buffer.

Here is an example:

    $ sed -e '/Apple/h'  -e '/Cashew/x' 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
    Apple      2       3            6
  

In this example, the line with the Apple pattern is stored in the holding buffer. When the pattern with Cashew is found, that line will be exchanged with the holding buffer.

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.