一、示例文件及需求:
cat file
11111111
2222222
3333333
反序显示
二、sed处理及结果:
sed '1!G;h;$!d'
3333333
2222222
11111111
三、命令说明:
g G 复制/附加保持空间的内容到模式空间
h H 复制/附加模式空间的内容到保持空间
四、命令执行流程:
执行第一行,保存第一行保持空间,清除模式空间
执行第二行,保存第二行+第一行到保持空间,清除模式空间
执行第三行,保存第三行+第二行+第一行到保持空间,清除模式空间
COMM:代表命令,PATT:代表patternspace的内容,HOLD代表保持空间的内容,其他为sed输出的内容
PATT:11111111 <------Cycle1
HOLD:
COMM:1!G
COMM:h
HOLD:11111111
COMM:$!d
PATT:
PATT:2222222 <-------Cycle2
COMM:1!G
PATT:2222222\n11111111
COMM:h
HOLD:2222222\n11111111
COMM:$!d
PATT:
PATT:3333333 <---------Cycle3
COMM:1!G
PATT:3333333\n2222222\n11111111
COMM:h
HOLD:3333333\n2222222\n11111111
COMM:$!d
OUT:3333333\n2222222\n11111111
PATT: