|
hbby
中级用户
积分 220
发帖 99
注册 2005-8-16
状态 离线
|
『楼 主』:
[求助]批处理整理文本,高手赐教,谢谢!
我有一聊天记录如下:
===== 2008-09-07 19:10:25 1020 =====
1017, ?
===== End =====
===== 2008-09-07 19:10:30 1020 =====
1017, 1020
===== End =====
===== 2008-09-07 19:11:48 1020 =====
1015, 今天当班啊?
===== End =====
===== 2008-09-07 19:12:11 1015 =====
1020, 我天天当班啊
===== End =====
===== 2008-09-07 19:12:16 1020 =====
1015, 哈哈
===== End =====
===== 2008-09-07 19:12:23 1015 =====
1020, 你一个人上班?
===== End =====
===== 2008-09-07 19:12:23 1020 =====
1015, 小万里?
===== End =====
===== 2008-09-07 19:12:29 1015 =====
1020, 奖励发了吗
===== End =====
===== 2008-09-07 19:12:31 1020 =====
1015, 不是
===== End =====
===== 2008-09-07 19:12:35 1020 =====
1015, 还没哦
===== End =====
===== 2008-09-07 19:12:37 1020 =====
1015, 你呢?
===== End =====
===== 2008-09-07 19:12:40 1015 =====
1020, 你看了啊
===== End =====
===== 2008-09-07 19:12:59 1015 =====
1020, 你估计有多少啊
===== End =====
===== 2008-09-07 19:13:00 1020 =====
1015, 看了什么?
===== End =====
===== 2008-09-07 19:13:07 1020 =====
1015, 不知道哦
===== End =====
===== 2008-09-07 19:13:07 1015 =====
1020, 卡啊
===== End =====
===== 2008-09-07 19:13:15 1020 =====
1015, 你应该不会少的
===== End =====
===== 2008-09-07 19:13:19 1020 =====
1015, 我还没看
===== End =====
===== 2008-09-07 19:13:26 1020 =====
1015, 我前天看了,没有
===== End =====
===== 2008-09-07 19:13:53 1015 =====
1020, 听说的
===== End =====
===== 2008-09-07 19:14:08 1020 =====
1015, 你就到了啊?
===== End =====
===== 2008-09-07 19:14:48 1020 =====
1015, 哦,希望有这么多
===== End =====
===== 2008-09-07 19:14:56 1020 =====
1015, 你几点下班哦
===== End =====
===== 2008-09-07 19:15:09 1015 =====
1020, 我等下就回家了
===== End =====
===== 2008-09-07 19:15:45 1020 =====
1015, 就回去啊
===== End =====
===== 2008-09-07 19:16:07 1015 =====
1020, 是啊,早下班了
===== End =====
===== 2008-09-07 19:18:11 1015 =====
1020, OK
===== End =====
===== 2008-09-07 19:18:15 1015 =====
1020, 886
===== End =====
===== 2008-09-07 19:18:18 1020 =====
1015, 88
===== End =====
想通过批处理整理成如下格式:
小林,?
小林,小张
小李,今天当班啊?
小张,我天天当班啊
小李,哈哈
小张,你一个人上班?
小李,小万里?
小张,奖励发了吗
小李,不是
小李,还没哦
小李,你呢?
小张,你看了啊
小张,你估计有多少啊
小李,看了什么?
小李,不知道哦
小张,卡啊
小李,你应该不会少的
小李,我还没看
小李,我前天看了,没有
小张,听说的
小李,你就到了啊?
小李,哦,希望有这么多
小李,你几点下班哦
小张,我等下就回家了
小李,就回去啊
小张,是啊,早下班了
小张,OK
小张,886
小李,88
1017代表小林 1015代表小李 1020代表小张
我只会简单的批处理,请高手帮忙完善
type imw_1909_17963.txt|find /v "=====">1.txt
批处理要求遍历此文件夹下所有的TXT文件找出聊天记录,谢谢!
文本附件http://www.cn-dos.net/forum/atta ... b698&download=1
[ Last edited by hbby on 2008-9-7 at 09:48 PM ]
附件
1: imw_1909_17963.rar (2008-9-7 21:46, 643 bytes,下载次数: 12)
|
|
2008-9-7 20:03 |
|
|
huahua0919
银牌会员
积分 1608
发帖 780
注册 2007-10-7
状态 离线
|
『第
2 楼』:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir/b/a-d *.txt') do (
for /f "skip=2 eol== delims=" %%a in ('type %%i') do (
set a=%%a
set a=!a:1015=小李!
set a=!a:1017=小林!
set a=!a:1020=小张!
set a=!a: =!
set a=!a:~,-1!
if not "!a!"=="" echo !a! >>linshi.txt
)
)
pause 至于你想找出所有这样的聊天记录,检查一下这样的文本文件名有没什么规律,比如文件名中都有"聊天"这两个字
[ Last edited by huahua0919 on 2008-9-7 at 10:41 PM ]
|
|
2008-9-7 20:16 |
|
|
pusofalse
银牌会员
积分 1604
发帖 646
注册 2008-4-13
状态 离线
|
『第
3 楼』:
学习,eol==用的太好了!避免使用findstr而降低效率
|
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^ |
|
2008-9-7 20:18 |
|
|
hbby
中级用户
积分 220
发帖 99
注册 2005-8-16
状态 离线
|
『第
4 楼』:
huahua0919,问题还是没解决哦,
1、没有遍历文件夹下所有的TXT文件,
2、没有处理空行,
3、没有处理空格,
劳烦完善下,谢谢
|
|
2008-9-7 20:25 |
|
|
huahua0919
银牌会员
积分 1608
发帖 780
注册 2007-10-7
状态 离线
|
『第
5 楼』:
1.你确定你文件夹下面的全是聊天的文件?
2.你要怎么处理空行?
3.空格是不是不要,只要全部连在一起?
|
|
2008-9-7 20:40 |
|
|
hbby
中级用户
积分 220
发帖 99
注册 2005-8-16
状态 离线
|
『第
6 楼』:
1、确定全是聊天文本
2、删除多余的空行
3、删除TAB键生成的空格
4、显示结果保存到文本
谢谢!!
|
|
2008-9-7 20:42 |
|
|
huahua0919
银牌会员
积分 1608
发帖 780
注册 2007-10-7
状态 离线
|
|
2008-9-7 20:51 |
|
|
hbby
中级用户
积分 220
发帖 99
注册 2005-8-16
状态 离线
|
『第
8 楼』:
我粘贴的文本空格其实是TAB生成的,并不是空格,能否处理?谢谢huahua0919
|
|
2008-9-7 20:59 |
|
|
huahua0919
银牌会员
积分 1608
发帖 780
注册 2007-10-7
状态 离线
|
『第
9 楼』:
难道我上面的代码没有处理TAB空格吗?
|
|
2008-9-7 21:02 |
|
|
hbby
中级用户
积分 220
发帖 99
注册 2005-8-16
状态 离线
|
『第
10 楼』:
没有,huahua0919老兄,有QQ吗?我把原始文本给您看看!
|
|
2008-9-7 21:03 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
11 楼』:
Re 8楼
论坛会把tab处理成空格,所以最好在提问的时候描述清楚,或者干脆用附件的形式贴出来:)
|
|
|
2008-9-7 21:37 |
|
|
hbby
中级用户
积分 220
发帖 99
注册 2005-8-16
状态 离线
|
『第
12 楼』:
我增加了附件,请HAT看看,谢谢
|
|
2008-9-7 21:49 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
13 楼』:
set a=!a: =!
set b=!b: =!
请注意2楼的这两句代码,冒号后面是个tab,而不是8个空格,你拷贝2楼的代码以后需要手工修改。
|
|
|
2008-9-7 21:58 |
|
|
hbby
中级用户
积分 220
发帖 99
注册 2005-8-16
状态 离线
|
|
2008-9-7 22:02 |
|
|
hbby
中级用户
积分 220
发帖 99
注册 2005-8-16
状态 离线
|
『第
15 楼』:
作为菜鸟的我提供一个思路,由于文本本身是ANSI编码的,所以我估计还是先要用FIND命令先过滤下吧!?不对请指正!
|
|
2008-9-7 22:07 |
|
|