免费注册 查看新帖 |

Chinaunix

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

编写sed脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-07-26 15:15 |只看该作者 |倒序浏览
大家好!
有两个问题想请教大家:
1)编写一个sed脚本,连续复制两行,并删除第3行;
2)编写一个sed脚本,把行22到行33复制到行56后面。

请问这两个sed脚本该如何实现?

论坛徽章:
0
2 [报告]
发表于 2011-07-26 15:26 |只看该作者
[iscs@linux-sp1]:/users/iscs>$ seq 10|sed 'N;p;n;d'
1
2
1
2
4
5
4
5
7
8
7
8
10




[iscs@linux-sp1]:/users/iscs>$ seq 34|sed '22h;33G;'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
22
34

这样?

论坛徽章:
0
3 [报告]
发表于 2011-07-26 15:33 |只看该作者
:/users/iscs>$ seq 10|sed 'N;p;n;d'
1
2
1
2
4
5
4
5
7
8
7
8
10




:/users/iscs>$  ...
mpstat 发表于 2011-07-26 15:26

应该是sed '$p;N;p;n;d',这样3n+1行时最后一行还可以复制

论坛徽章:
0
4 [报告]
发表于 2011-07-26 15:47 |只看该作者
1、连续复制哪两行?到哪儿
2、sed '22,33H;56G'

论坛徽章:
0
5 [报告]
发表于 2011-07-26 20:42 |只看该作者
回复 4# where27


    它题目就是这样,我也理解不透,谢谢关注!

论坛徽章:
0
6 [报告]
发表于 2011-07-26 20:45 |只看该作者
回复 3# mpstat

对,就是这样,谢谢!

论坛徽章:
0
7 [报告]
发表于 2011-07-26 20:46 |只看该作者
回复 2# mpstat


    然后第二小题好像可以这么解:
sed 22,33 {
H
d
}
56G

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
8 [报告]
发表于 2011-07-26 23:36 |只看该作者
本帖最后由 yinyuemi 于 2011-07-26 23:38 编辑

回复 1# Linuxer2011


    第二题:
sed '22,33{
   22h #把holde space的空行覆盖,否则会打印
   22!H
   d};
   56G'
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP