标题: [文本处理] [已解决]批处理怎样在搞flash嵌入字符的时候从xml中筛选中文? [打印本页]
作者: xiugakei 时间: 2011-2-8 02:17 标题: [已解决]批处理怎样在搞flash嵌入字符的时候从xml中筛选中文?
我在搞flash,嵌入字符的时候,往往要把一个xml(其实是txt)里面的中文字符筛选出来。
求高手帮忙做个bat来解决。
要求:
比如有一个文档1.txt,里面有一堆中文、英文、符号(其实都是html语言)。求个1.bat,运行之后,生成个2.txt,里面有齐1.txt的所有中文,但是一个英文和符号都没有,也不能有换行。
跪求高手,谢谢
[ 本帖最后由 xiugakei 于 2011-2-11 15:06 编辑 ]
作者: CUer 时间: 2011-2-8 20:22
- sed "s/[\x21-\x7E]//g" 1.txt | sed ":a;$!N;s/\n//;ta;P;D" | more >2.txt
复制代码
作者: xiugakei 时间: 2011-2-8 23:56
谢谢CUer的回复,但是不成功。。。
作者: CrLf 时间: 2011-2-9 05:15
支持每行最长2000字符,如果追求完美,可以套用计算字符长度的代码:- @echo off
- (for /f "delims=" %%a in (1.txt) do (
- set tmp=%%a
- setlocal enabledelayedexpansion
- for /l %%a in (0 1 2000) do (
- if "!tmp:~%%a,1!" gtr "Z" set /p=!tmp:~%%a,1!<nul
- )
- echo;
- endlocal
- ))>2.txt
- pause
复制代码
作者: Batcher 时间: 2011-2-9 09:08 标题: 回复 3楼 的帖子
你是不是没有sed命令?
作者: xiugakei 时间: 2011-2-9 11:48 标题: 回复 5楼 的帖子
我在sf.net下载了sed,放在c:/windows里面,但是运行也没用。是不是要重启?还是我安装错误?
作者: Batcher 时间: 2011-2-9 12:23 标题: 回复 6楼 的帖子
从论坛下载一个,把它和批处理文件放到同一个目录下试试。
命令行工具 sed.exe 下载地址:
http://bbs.bathome.net/thread-3981-1-1.html
作者: asnahu 时间: 2011-2-9 13:53
把附件发上来看看吧。
作者: xiugakei 时间: 2011-2-9 15:00
感谢各位回复。但是问题还没解决。
下载新版sed,放在改bat所在文件夹,运行2楼代码,提示缺少libintl3.dll。
下载旧版sed,放在改bat所在文件夹,运行2楼代码,还有很多英文没去掉完全。
4楼的运行后没反应。
我上传我一个压缩包,是我测试用的。
作者: CrLf 时间: 2011-2-9 16:21
utf-8...
那当然没反应了...
作者: xiugakei 时间: 2011-2-11 13:32
那么请问各位高手怎么解决?
作者: xiugakei 时间: 2011-2-11 13:34 标题: 回复 10楼 的帖子
先改为ansi,再用你的代码,,可以去掉英文,但是换行还没去掉。还有,我想直接用utf8的,不想编码改来改去,请问有办法实现吗
作者: CrLf 时间: 2011-2-11 13:40
不要换行更简单,我当时还是特意加了一个回车上去的...- @echo off
- (for /f "delims=" %%a in (1.txt) do (
- set tmp=%%a
- setlocal enabledelayedexpansion
- for /l %%a in (0 1 2000) do (
- if "!tmp:~%%a,1!" gtr "Z" set /p=!tmp:~%%a,1!<nul
- )
- endlocal
- ))>2.txt
- pause
复制代码
作者: xiugakei 时间: 2011-2-11 15:03
感谢zm900612的回帖。我采用了你的代码。再用UTF82ANSI.vbs解决了转换编码的问题了。
附上我的最终代码。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |