中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 06:17
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » (已结)sed如何获取指定字符前的12个字符? 查看 1,034 回复 7
楼 主 (已结)sed如何获取指定字符前的12个字符? 发表于 2010-10-28 13:12 ·  中国 广东 深圳 福田区 电信
初级用户
积分 87
发帖 48
注册 2006-11-06 00:57
19年会员
UID 69720
性别 男
状态 离线
我想把网站网页上有关数据前的内容保存下来,就是每行里的所有指定字符前的12个字符提取出来,sed不知道可不可以做到,好像sed只对文本行可以,对字符不知道怎样处理?

[ Last edited by xeibobin on 2010-10-30 at 17:58 ]
2 发表于 2010-10-28 13:45 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
给点真实数据吧
3 发表于 2010-10-28 13:55 ·  中国 广东 深圳 福田区 电信
初级用户
积分 87
发帖 48
注册 2006-11-06 00:57
19年会员
UID 69720
性别 男
状态 离线
有个文本如下,要获取“百度搜索”前面的12个字串:
11112223344百度搜索245566678899987122334566622222111233443442287百度搜索888777777765654332545668766543232456777788999title8787765444332333333343343445566677778888999999999999999999977654343
333344532234556677777777776百度搜索5443232223456787百度搜索888889776百度搜索543322233444454555666百度搜索6777887889997655555543432222344555555677643322323223344455555556566677777777

[ Last edited by xeibobin on 2010-10-28 at 14:10 ]
4 发表于 2010-10-28 13:56 ·  中国 广东 深圳 福田区 电信
初级用户
积分 87
发帖 48
注册 2006-11-06 00:57
19年会员
UID 69720
性别 男
状态 离线
麻烦HAT版主帮我看看,谢谢
5 发表于 2010-10-28 16:02 ·  中国 广东 深圳 南山区 电信
新手上路
积分 18
发帖 16
注册 2010-01-06 15:16
16年会员
UID 158100
性别 男
状态 离线
这个超容易!
6 发表于 2010-10-28 16:46 ·  中国 广东 深圳 福田区 电信
初级用户
积分 87
发帖 48
注册 2006-11-06 00:57
19年会员
UID 69720
性别 男
状态 离线
怎样获取,不用sed吗,
7 发表于 2010-10-28 19:29 ·  中国 广东 深圳 福田区 电信
初级用户
积分 87
发帖 48
注册 2006-11-06 00:57
19年会员
UID 69720
性别 男
状态 离线
1.txt为要处理的文件,代码如下:

@echo off
type 1.txt |sed "s/百度搜索/\r\n/g" >>2.txt
Setlocal EnableDelayedExpansion
for /f "delims=" %%a in (2.txt) do (
set str=%%a&echo !str:~-12!>>3.txt
)
type 3.txt

终于自己写了一个,就是笨拙了些,没有那么简洁!唉。
8 发表于 2010-10-28 19:32 ·  中国 广东 深圳 福田区 电信
初级用户
积分 87
发帖 48
注册 2006-11-06 00:57
19年会员
UID 69720
性别 男
状态 离线
就是不能直接用sed提取,。。。
论坛跳转: