![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 00:06 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 关于sed替换命令的疑问。 |
| 可打印版本 959 / 3 |
| 第1楼 zsc37201 | 发表于 2010-08-02 16:56 |
| 新手上路 发帖 12 积分 12 | |
|
关于sed替换命令的疑问。 @echo off
echo I love sed. |sed "s#*#&,#g" 预期目的是在每个单词后加上逗号。 即I, love, sed,. 可是实际结果是: I, love, sed,., , 它在.和空格后也加上了逗号,不知是为什么? .和空格按说不匹配*呀? |
|
| 第2楼 fsfss | 发表于 2010-08-02 17:15 |
| 初级用户 发帖 20 积分 22 | |
|
echo I love sed. |sed "s#[A-Za-z]\{1,\}#&,#g"
|
|
| 第3楼 zsc37201 | 发表于 2010-08-02 19:20 |
| 新手上路 发帖 12 积分 12 | |
|
谢谢你的回答,原来是*号是零到多个,忘记了。
我又有一个新的问题,就大侠回答一下,为什么最后句点后的空格匹配,而I、love、sed间的那两个空格为什么不匹配。 `a*b' Matches zero or more `a's followed by a single `b'. For example, `b' or `aaaaab'. 上面好理解 但是,a*(只有a*,后面没有b)当匹配0个时,该怎么理解,还请不吝赐教。 麻烦大侠回答一下。 |
|
| 第4楼 fsfss | 发表于 2010-08-02 20:21 |
| 初级用户 发帖 20 积分 22 | |
|
这个问题确实令人费解,同等高人回答,按楼上的思路试了下JS和AHK中的正则,结果如下:
JS: I,,,,,, love,,,,,, ,,, sed,,,,,,.,,, ,,, AHK: I,, love,, , sed,,., , SED: I, love, sed,., , [ Last edited by fsfss on 2010-8-2 at 20:25 ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |