关于sed空间的问题

2013-11-09 13:07:22 +08:00
 gouera
是反转文本的顺序的
[root@localhost ~]# cat b.txt
1aabbcc
2qwee
3aabbcc
4aabbcc
5aabbcc
6aabbcc
7aabbcc
要把这个文本反转,
[root@localhost ~]# sed -n '{G;h;$p}' b.txt
7aabbcc
6aabbcc
5aabbcc
4aabbcc
3aabbcc
2qwee
1aabbcc
做法是这样,但是我根本看不明白。
G是把保持空间的内容附加到模式空间,可一开始保持空间怎么会有内容啊,都没有保存进去。
单独用G就是这样
[root@localhost ~]# sed 'G' b.txt
1aabbcc

2qwee

3aabbcc

4aabbcc

5aabbcc

6aabbcc

7aabbcc

[root@localhost ~]#
模式空间的内容就是文本的内容吧,用h将模式空间的复制到保持空间,
[root@localhost ~]# 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

[root@localhost ~]
怎么就这样了 , 完全看不懂..
求各位帮忙解释下,谢谢了
2759 次点击
所在节点    Linux
2 条回复
ooxxoo
2013-11-09 13:55:34 +08:00
http://coolshell.cn/articles/9104.html 关键字 Hold Space
希望有用
iv
2013-11-10 11:04:46 +08:00
为什么要用sed,你用 sort -r b.txt 可完成这个任务啊!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/88626

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX