找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25093|回复: 10

[问题求助] "一起来学习强大的sed"的困惑[已解决]

[复制链接]
发表于 2013-7-17 17:41:51 | 显示全部楼层 |阅读模式
一起来学习强大的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里面,都会这样,为什么会这样?恳请懂的人指点下,谢谢!

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2013-7-17 17:57:46 | 显示全部楼层
看上去没错,测试也没问题,楼主的 a.txt 是什么编码、什么内容?
单文件版有点问题,建议还是用带 dll 的,gnu 系列的 dll 大多是共用的,不会占太多空间。
发表于 2013-7-17 18:58:54 | 显示全部楼层
用记事本打开d:\a.txt
文件
另存为
在编码格式的下拉列表里面选择ANSI
 楼主| 发表于 2013-7-18 15:14:15 | 显示全部楼层
回复 3# Python

谢谢啦,不过,好象不行呀
情况就是这样,但为什么会是这样?sed已经换成带 dll 的,并且是gnu 系列的,有3个dll.希望继续指点指点我,谢谢!
发表于 2013-7-18 15:17:35 | 显示全部楼层
哥们,你的文本开头是一串空白符吧

那当然匹配不到

/^a/p   匹配的是开头a的行
发表于 2013-7-18 15:26:50 | 显示全部楼层
回复 4# wangb70
  1. sed -n "/^[ \t]*a/p" d:\a.txt
复制代码
 楼主| 发表于 2013-7-19 07:09:36 | 显示全部楼层
回复 5# broly


    多谢byoly,你一说我才注意到文本开头是一串空白符,我把原文a.txt中的内容挪到最左边
可以了,不过,该如何练习原文中带有符号"^"的例子,是不是都需要把a.txt中的内容挪到最左边,使文本开头没有空白符才行,练习原文中带有符号"^"的例子,有更好的方法吗?
 楼主| 发表于 2013-7-19 07:17:11 | 显示全部楼层
回复 6# Python

谢谢python的热情指导,可以了,在sed -n "/^[ \t]*a/p" d:\a.txt中,^[\t]*表示什么意思,可否顺便教教我们这些还不太会的人,多谢!
发表于 2013-7-19 08:51:36 | 显示全部楼层
回复 8# wangb70


\t表示制表符tab
[ \t]把空格和\t放在放在方括号里面表示一个集合,匹配的是空格或tab
[ \t]*表示空格或tab出现任意多次(包括零次)

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2013-7-20 08:50:07 | 显示全部楼层
回复 9# Python

这下明白了,不因新手问题的简单而轻视怠慢,反而耐心细致的讲解知识,做到这一步不简单,日后我若学会相关知识,一定向python一样帮助别人,分享知识,祝一切都好
发表于 2013-7-20 09:53:29 | 显示全部楼层
回复 10# wangb


    论坛很多这样的网友
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 02:31 , Processed in 0.012783 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表