Board logo

标题: [问题求助] "一起来学习强大的sed"的困惑[已解决] [打印本页]

作者: wangb70    时间: 2013-7-17 17:41     标题: "一起来学习强大的sed"的困惑[已解决]

一起来学习强大的sed是篇很好的sed学习文章,感谢作者的辛勤劳动.不过,当我照着文章中的例子练习时,却遇到了困难.我使用的系统是xp sp3,sed的版本依次更换为批处理之家论坛的sed4.2.2 for win32单文件版,跨平台命令行工具-grep gawk sed windows版本 从git中抽出来的.[http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=2331147],还有从官网下载的.练习到"显示所有以字符"a"开头的行",以及下面的几个例子,只要有符号"^"在sed里面,都会这样,为什么会这样?恳请懂的人指点下,谢谢!
作者: CrLf    时间: 2013-7-17 17:57

看上去没错,测试也没问题,楼主的 a.txt 是什么编码、什么内容?
单文件版有点问题,建议还是用带 dll 的,gnu 系列的 dll 大多是共用的,不会占太多空间。
作者: Python    时间: 2013-7-17 18:58

用记事本打开d:\a.txt
文件
另存为
在编码格式的下拉列表里面选择ANSI
作者: wangb70    时间: 2013-7-18 15:14

回复 3# Python

谢谢啦,不过,好象不行呀
情况就是这样,但为什么会是这样?sed已经换成带 dll 的,并且是gnu 系列的,有3个dll.希望继续指点指点我,谢谢!
作者: broly    时间: 2013-7-18 15:17

哥们,你的文本开头是一串空白符吧

那当然匹配不到

/^a/p   匹配的是开头a的行
作者: Python    时间: 2013-7-18 15:26

回复 4# wangb70
  1. sed -n "/^[ \t]*a/p" d:\a.txt
复制代码

作者: wangb70    时间: 2013-7-19 07:09

回复 5# broly


    多谢byoly,你一说我才注意到文本开头是一串空白符,我把原文a.txt中的内容挪到最左边
可以了,不过,该如何练习原文中带有符号"^"的例子,是不是都需要把a.txt中的内容挪到最左边,使文本开头没有空白符才行,练习原文中带有符号"^"的例子,有更好的方法吗?
作者: wangb70    时间: 2013-7-19 07:17

回复 6# Python

谢谢python的热情指导,可以了,在sed -n "/^[ \t]*a/p" d:\a.txt中,^[\t]*表示什么意思,可否顺便教教我们这些还不太会的人,多谢!
作者: Python    时间: 2013-7-19 08:51

回复 8# wangb70


\t表示制表符tab
[ \t]把空格和\t放在放在方括号里面表示一个集合,匹配的是空格或tab
[ \t]*表示空格或tab出现任意多次(包括零次)
作者: wangb    时间: 2013-7-20 08:50

回复 9# Python

这下明白了,不因新手问题的简单而轻视怠慢,反而耐心细致的讲解知识,做到这一步不简单,日后我若学会相关知识,一定向python一样帮助别人,分享知识,祝一切都好
作者: ShadowFiend    时间: 2013-7-20 09:53

回复 10# wangb


    论坛很多这样的网友




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2