免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1638 | 回复: 6
打印 上一主题 下一主题

初学shell,以下代码,不解.求解释! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-07-13 19:05 |只看该作者 |倒序浏览
$ cat data2
this is the header line.
this is the first data line.
this is the second data line.
this is the last line.
$ sed -n ’{
1!G
h
$p
}’ data2
this is the last line.
this is the second data line.
this is the first data line.
this is the header line.

实现了按行反向输出,如何实现,求解。。。

论坛徽章:
0
2 [报告]
发表于 2010-07-13 19:10 |只看该作者
这个讲起来比较复杂,我给你个好东西你看看:
http://bbs.chinaunix.net/viewthread.php?tid=856330

论坛徽章:
0
3 [报告]
发表于 2010-07-13 19:23 |只看该作者
果然是好东东,多谢分享!

论坛徽章:
0
4 [报告]
发表于 2010-07-13 19:44 |只看该作者
本帖最后由 slmagicbox 于 2010-07-13 20:04 编辑

我的理解是:
1)读入第一行文本,1!G,不追加回PS(Partten Space);然后h,从PS拷贝到HS(Hold Space);然后$p;应该输出1行内容(此处有误,$p到文本末才print)
2)读入第二行文本。G,HS追加回PS;然后h,从PS拷贝到HS;然后$p;应该输出2行内容(此处有误,$p到文本末才print)
3)读入第三行文本。G,HS追加回PS;然后h,从PS拷贝到HS;然后$p;应该输出3行内容(此处有误,$p到文本末才print)
4)读入第四行文本。G,HS追加回PS;然后h,从PS拷贝到HS;然后$p;应该输出4行内容

前几次的输出都被覆盖了(此处有误,前几次不输出。)???求解!!!(已解决..)

论坛徽章:
0
5 [报告]
发表于 2010-07-13 19:52 |只看该作者
回复 4# slmagicbox


    $p是到最后一行才打印。。。。。

论坛徽章:
0
6 [报告]
发表于 2010-07-13 20:00 |只看该作者
本帖最后由 slmagicbox 于 2010-07-13 20:08 编辑
回复  slmagicbox
    $p是到最后一行才打印。。。。。
lkk2003rty 发表于 2010-07-13 19:52


一语点醒我梦中人~~·

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
7 [报告]
发表于 2010-07-13 20:21 |只看该作者
这里有讲解:sed1line翻译加注
http://bbs.chinaunix.net/thread-336126-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP