V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
gouera
V2EX  ›  Linux

关于sed空间的问题

  •  
  •   gouera · 2013-11-09 13:07:22 +08:00 · 2864 次点击
    这是一个创建于 4032 天前的主题,其中的信息可能已经有所发展或是发生改变。
    是反转文本的顺序的
    [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 ~]
    怎么就这样了 , 完全看不懂..
    求各位帮忙解释下,谢谢了
    2 条回复    1970-01-01 08:00:00 +08:00
    ooxxoo
        1
    ooxxoo  
       2013-11-09 13:55:34 +08:00
    http://coolshell.cn/articles/9104.html 关键字 Hold Space
    希望有用
    iv
        2
    iv  
       2013-11-10 11:04:46 +08:00
    为什么要用sed,你用 sort -r b.txt 可完成这个任务啊!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2628 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 04:26 · PVG 12:26 · LAX 20:26 · JFK 23:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.