免费注册 查看新帖 |

Chinaunix

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

新手请教sed代码含义 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-03 14:20 |只看该作者 |倒序浏览
大家好,我昨天因为一个文件处理的问题,在这里请教大家,得到了答案,于是昨天和今天恶补了有关Sed的知识。

现在问题是解决掉了,但是新的问题又出来了,新的问题是,高手给我的代码能运行,但是有的地方我不懂,本着学习的态度,我又来请教了,哈哈

首先,昨天的问题是这样子的

自己要处理一个文件,文件格式大致是这样

AAAAAAAAAAAAAAA
+BBBBBBBBBBBBBBB
+CCCCCCCCCCCCC

DDDDDDDDDDDDDDD

EEEEEEEEEEEEEEE

如何把第一段中的+号去掉,把这三行合并成为一行
也就是

AAAAAAAAAAAAABBBBBBBBBBCCCCCCCCC

论坛上黑哥给我了一个脚本

环境问题。写到脚本试试。
sed -f scr.sed urfile
scr.sed
:nx
N
s/\n+//
t nx
P
D

我自己尝试了一下,可以运行,输入的文件正好满足我的要求
但是我自己恶补了Sed的知识,发现这个脚本中只有 s/\n+//这个我懂,就是寻找 回车连着+号的,然后替换掉

但是前面
:nx
N

t nx
P
D
是什么意思不理解

不知道有么有前辈帮我指点下,这几行是什么意思呢?

多谢多谢了!

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:19
2 [报告]
发表于 2008-09-03 14:39 |只看该作者
shell 版置顶贴里面有这些解释可以认真去看一下.

论坛徽章:
0
3 [报告]
发表于 2008-09-03 15:18 |只看该作者
原帖由 MYSQLER 于 2008-9-3 14:39 发表
shell 版置顶贴里面有这些解释可以认真去看一下.


找到那篇文章了,去读了,哈哈

多谢多谢哦

论坛徽章:
0
4 [报告]
发表于 2008-09-03 16:00 |只看该作者
好好的温习下shell十三周

论坛徽章:
0
5 [报告]
发表于 2008-09-03 16:35 |只看该作者
自己去看了shell版置顶的帖子,感觉还是有点点问题

首先这个 :nx我就不知道是什么意思

看sed的解释,n表示下一行也读入,但是x呢?没有解释,

此外,这个冒号:也不知道什么意思,

大家指点下,多谢了!

论坛徽章:
0
6 [报告]
发表于 2008-09-04 09:12 |只看该作者
自己顶起来,昨天研究了一个晚上,还是没有弄懂,呵呵,自己有点点笨,呵呵

论坛徽章:
0
7 [报告]
发表于 2008-09-04 10:03 |只看该作者

回复 sed 的帖子

你好,我也不会你说的那个问题,但是我也想出了一个方法,很简单,希望可以满足你的要求:
sed 's/\+//' cuipig.txt|awk   '{printf("%s",$1);   if(NR%3==0)   printf("\n")}'
其中cuipig.txt为要操作的文件

[ 本帖最后由 cuipig 于 2008-9-4 10:06 编辑 ]

论坛徽章:
28
15-16赛季CBA联赛之八一
日期:2016-02-22 19:10:4215-16赛季CBA联赛之深圳
日期:2016-12-01 10:34:0415-16赛季CBA联赛之新疆
日期:2016-12-07 10:24:2915-16赛季CBA联赛之同曦
日期:2016-12-15 12:06:43CU十四周年纪念徽章
日期:2016-12-18 13:03:4415-16赛季CBA联赛之吉林
日期:2017-01-03 15:52:2515-16赛季CBA联赛之辽宁
日期:2017-01-04 14:58:2415-16赛季CBA联赛之辽宁
日期:2017-01-15 09:42:512016科比退役纪念章
日期:2017-02-06 17:21:50黑曼巴
日期:2017-02-10 15:46:1215-16赛季CBA联赛之上海
日期:2017-03-18 10:14:5415-16赛季CBA联赛之青岛
日期:2017-03-18 22:00:44
8 [报告]
发表于 2016-10-06 22:36 |只看该作者

  1. sed ':a;N;s/\n+//;ta'
复制代码

论坛徽章:
0
9 [报告]
发表于 2016-11-14 09:39 |只看该作者
你问的这个讲起来话太长,建议你百度下sed多行模式空间和保持空间,sed&awk里面也有这些内容。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP