关于sed空间的问题
- 0次
- 2021-07-20 02:46:46
- idczone
是反转文本的顺序的
[[email protected] ~]# cat b.txt
1aabbcc
2qwee
3aabbcc
4aabbcc
5aabbcc
6aabbcc
7aabbcc
要把这个文本反转,
[[email protected] ~]# sed -n '{G;h;$p}' b.txt
7aabbcc
6aabbcc
5aabbcc
4aabbcc
3aabbcc
2qwee
1aabbcc
做法是这样,但是我根本看不明白。
G是把保持空间的内容附加到模式空间,可一开始保持空间怎么会有内容啊,都没有保存进去。
单独用G就是这样
[[email protected] ~]# sed 'G' b.txt
1aabbcc
2qwee
3aabbcc
4aabbcc
5aabbcc
6aabbcc
7aabbcc
[[email protected] ~]#
模式空间的内容就是文本的内容吧,用h将模式空间的复制到保持空间,
[[email protected] ~]# sed '{G;h}' b.txt
1aabbcc
2qwee
1aabbcc
3aabbcc
2qwee
1aabbcc
4aabbcc
3aabbcc
2qwee
1aabbcc
5aabbcc
4aabbcc
3aabbcc
2qwee
1aabbcc
6aabbcc
5aabbcc
4aabbcc
3aabbcc
2qwee
1aabbcc
7aabbcc
6aabbcc
5aabbcc
4aabbcc
3aabbcc
2qwee
1aabbcc
[[email protected] ~]
怎么就这样了 , 完全看不懂..
求各位帮忙解释下,谢谢了
http://coolshell.cn/articles/9104.html 关键字 Hold Space
希望有用
为什么要用sed,你用 sort -r b.txt 可完成这个任务啊!