SED advanced command:
G: Copy the contents of the hold space into the pattern space, where the contents of the original pattern space are overwritten
G: After append the contents of hold space to the pattern space\n
H: Copy the contents of the pattern space into hold space, and the contents of the space are overwritten
H: Append the contents of the pattern space to the hold space\n
D: Delete all lines in pattern and read into the next line into pattern
[[Email protected]:bash]# seq 5 | Sed '/2/{h;d};/4/{g} '
1
3
4
2
5
[[Email protected]:bash]# seq 5 | Sed '/2/{h;d};/4/{g} '
1
3
2
5
n command: Reads the next line to pattern space.
n command: Adds the next line to the pattern space.
P Command: Prints the first line of the template block.
Seq 5 | Sed-n ' N; P
2
4
Seq 5 | Sed-n ' N; P
1
3
Seq 5 | Sed-n ' $! N P
1
3
5
Note: $! n is where n does not work on the last line.
This article is from the "Linuxdream" blog, make sure to keep this source http://books.blog.51cto.com/2600359/1639086
SED Advanced Command Small note