Board logo

标题: [文本处理] [已解决]用批处理怎样删除含有汉字的行? [打印本页]

作者: wwwjjjxxx    时间: 2012-1-1 09:52     标题: [已解决]用批处理怎样删除含有汉字的行?

本帖最后由 wwwjjjxxx 于 2012-1-10 22:33 编辑

文本内容格式如下:
abcdfr
我的
wwee游戏aaa
12345678
你好12345
88888您的
........................
文件很大,有数百M,能否用批处理删掉所有含有汉字的行?请各位老大赐教
作者: lvsehuaxue    时间: 2012-1-1 10:47

  1. @echo off
  2. findstr "^[0-9a-zA-Z]*$" a.txt
  3. pause
复制代码

作者: wwwjjjxxx    时间: 2012-1-1 11:28

回复 2# lvsehuaxue
先表示感谢!可以删除含有汉字的行,但包含有特殊字符的也一并删除了,能将包含特殊字符的行保留吗?
作者: CrLf    时间: 2012-1-1 11:38

  1. findstr /v "[^ -Z]" test.txt
复制代码

作者: yyykkkyyyy    时间: 2012-1-1 14:00

回复 4# CrLf


    有点疑问...空格能行?  [^ -Z]
作者: CrLf    时间: 2012-1-1 16:57

回复 5# yyykkkyyyy


   不好意思打漏了,应为
  1. findstr /v /r /c:"[^ -Z]"
复制代码

作者: wwwjjjxxx    时间: 2012-1-1 21:13

回复 6# CrLf
哦!老大亲临为俺解决问题,顿令本贴蓬荜生辉!删含有汉字的行没问题,但含有特殊字符的也删掉了,能否保留含特殊字符的行
作者: applba    时间: 2012-1-3 15:36

对一下ASCII码表,有差不多90多个字符哟~~~
作者: qiwei201    时间: 2012-1-7 22:37

  1. sed "/[\x80-\xff]/d" <文件名>
复制代码

作者: qiwei201    时间: 2012-1-7 22:47

更完整点的应该是
  1. sed "/[\x81-\xFE][\x40-\xFE]/d" <文件名>
复制代码

作者: wwwjjjxxx    时间: 2012-1-10 22:31

回复 10# qiwei201

多谢!!解决了大问题!!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2