免费注册 查看新帖 |

Chinaunix

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

[文本处理] 有谁能详细解释下面这两个语句其中的含义 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-10-18 18:49 |只看该作者 |倒序浏览
sed = filename | sed 'N; s/^/     /; s/ *\(.\{6,\}\)\n/\1  /'


sed '/./=' filename | sed '/./N; s/\n/ /'

论坛徽章:
3
天蝎座
日期:2013-12-10 19:37:11酉鸡
日期:2014-08-04 20:05:38双鱼座
日期:2014-08-09 21:53:54
2 [报告]
发表于 2014-10-18 19:14 |只看该作者
回复 1# jamesapple321


这个是出自sed单行脚本,网上的解释应该蛮多的,我就不再赘述了,给出个链接吧
http://funexploit.readthedocs.org/en/latest/sources/sed1line.html

论坛徽章:
3
丑牛
日期:2014-09-13 18:19:22摩羯座
日期:2014-10-10 17:43:02水瓶座
日期:2014-10-16 01:00:22
3 [报告]
发表于 2014-10-19 12:09 |只看该作者
学生党:飘过~
$ cat yhsafe.txt |sed 'N; s/^/     /'
     1
2
     3
4
     5
6
第一步:N当然是读取下一行并且添加到模式空间,例如第一行是1嘛所以模式空间变成1\n2嘛但是又把^开头的向后缩进了所以就变成   1\n2啦然后
$ cat yhsafe.txt |sed 'N; s/^/     /; s/ *\(.\{6,\}\)\n/\1  /'
     1  2
     3  4
     5  6
第二步:把 *(.{6,})\n就是把前面任意字符  1\n这个东西变成了  1  没有了\n自然2就不用换行了所以就是1 2了啊~其它的都一样嗯
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP