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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.