免费注册 查看新帖 |

Chinaunix

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

[Linux] sed 中的数字含义 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-12-31 15:46 |只看该作者 |倒序浏览
sed '1 i\
<!DOCTYPE html>\
<html lang=\"en\">\
<head>\
<title>The Rime of the Ancyent Mariner (179</title>\
</head>\
<body>
s/^/<h1>/
s/$/<\/h1>/
q'  rime.txt

请问,这里的 sed '1 i\    #此处的数字1 是什么含义?

论坛徽章:
0
2 [报告]
发表于 2013-12-31 16:12 |只看该作者
如果是在第一行后面插入,为何下面的命令,运行后rime.txt仅仅剩下一行了?

$     sed '3 i\
>     <!DOCTYPE html>\
>     <html lang=\"en\">\
>     <head>\
>     <title>The Rime of the Ancyent Mariner (179</title>\
>     </head>\
>     <body>
>     s/^/<h1>/
>     s/$/<\/h1>/
>     q'  -i rime.txt

sanya@ligong-a691b08a /cygdrive/c/workspace
$ cat rime.txt
<h1>THE RIME OF THE ANCYENT MARINERE, IN SEVEN PARTS.</h1>
我给出数字3是要在原文第三行,插入一些内容,为何那些内容没有了,仅仅剩下一行了?

论坛徽章:
4
白羊座
日期:2013-09-17 21:59:30技术图书徽章
日期:2013-10-12 22:16:03白羊座
日期:2013-10-14 11:01:40双子座
日期:2013-12-17 18:26:39
3 [报告]
发表于 2013-12-31 19:22 |只看该作者
查查sed的q命令是做什么的

论坛徽章:
0
4 [报告]
发表于 2014-01-01 21:40 |只看该作者
man sed
就有sed的很详细的文档

我学sed就是这么学的,有啥东西忘了怎么写也是这么查的。

论坛徽章:
0
5 [报告]
发表于 2014-01-01 21:50 |只看该作者
$     sed '3 i\
>     <!DOCTYPE html>\
>     <html lang=\"en\">\
>     <head>\
>     <title>The Rime of the Ancyent Mariner (179</title>\
>     </head>\
>     <body>
>     s/^/<h1>/
>     s/$/<\/h1>/
>     q'  -i rime.txt

我这样理解,sed 在第三行后面插入
     <!DOCTYPE html>\
     <html lang=\"en\">\
     <head>\
     <title>The Rime of the Ancyent Mariner (179</title>\
     </head>\
     <body>

然后,再插入<h1>   <\h1>,然后退出,为何
     <!DOCTYPE html>\
     <html lang=\"en\">\
     <head>\
     <title>The Rime of the Ancyent Mariner (179</title>\
     </head>\
     <body>

这个内容没有了呢?

论坛徽章:
4
白羊座
日期:2013-09-17 21:59:30技术图书徽章
日期:2013-10-12 22:16:03白羊座
日期:2013-10-14 11:01:40双子座
日期:2013-12-17 18:26:39
6 [报告]
发表于 2014-01-02 00:31 |只看该作者
你应当去看看sed的执行流程,info sed中就有
你这个的执行流程,我是这样理解的:
读人rime.txt第一行,执行引号内的sed命令,第一条命令因为只适用于第3行,所以跳过;
第二、三条命令分别在这一行的前后添加内容,然后q命令退出。引号内命令执行完后,
因为没有使用"-n",所以会输出这行的内容。又因为使用了q命令,所以不会再继续处理文件内容。
而"-i"导致使用输出的内容替换掉原文件的内容,所以只剩下一句内容了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP