[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]用UltraEdit正则表达删除txt文本内容汉字怎么写

本帖最后由 ufwuwlgah 于 2012-6-28 01:58 编辑

文件有3G大,批处理grep "^[0-9a-zA-Z ]*$" 1.txt | more >2.txt处理到847KB就处理不了,
只能用UltraEdit正则表达式去处理
[^0-9^a-z^A-Z ]*$  只能删除整行汉字,
要求只要是带有汉字的行,就整行删除,怎么做写,求知识
正则表达式Unix把带有汉字的行,替换成标准的回车符

zzzzzzzzzz
123456789
zzzzz12345
我是一个男人
啊啊41545545
';"{}]';l._&$!~
啊啊fsfsfedf
      啊啊的的
123回老家了
987654321
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

用 findstr 或 sed 试试:
  1. findstr /v "['-Z]" a.txt>b.txt
复制代码
  1. sed "/[\x80-\xff]/d" a.txt>b.txt
复制代码

TOP

用 findstr 或 sed 试试:
CrLf 发表于 2012-6-22 11:37


处理不了,还是一样到了800KB

TOP

回复 3# ufwuwlgah


    2楼的代码你是不是自己添加了more命令?

TOP

回复 4# forfiles


    没添加啊

TOP

回复 2# CrLf


        你的第2个代码可以,还有点问题,就是把第6行也给删除了,那时各种各样的符号,不能删除,只要删除带汉字的行,
能不能把 sed "/[\x80-\xff]/d" a.txt>b.txt 中的/[\x80-\xff]/d换回[0-9a-zA-Z ]这样的形式,你的代码我新人看不懂啊

TOP

回复 6# ufwuwlgah
  1. sed "/[0-9a-zA-Z ]/d" a.txt >b.txt
复制代码
  1. sed -i "/[0-9a-zA-Z ]/d" a.txt
复制代码

TOP

回复 7# forfiles
呵呵,你的2个代码都把有用的删除了,留了没用的

TOP

回复 8# ufwuwlgah

加个 ^ 取补集就可以了。
但是你给出的集合中并不包括标点符号啊...
  1. sed "/[^0-9a-zA-Z ]/d" a.txt >b.txt
复制代码

TOP

回复 8# ufwuwlgah


    我是照了2楼写的

TOP

回复 9# CrLf


    版主,你的能不能再改一下,第6行是各种各样的符号,不能删除

TOP

findstr "[^'-Z]" a.txt>b.txt
1

评分人数

TOP

回复 12# CrLf

findstr "[^'-Z]" a.txt>b.txt
你的是把没用的写到b.txt里面去了,版主,要把有用的写到b.txt
下面的这些都是不要的

    我是一个男人
啊啊41545545
啊啊fsfsfedf
      啊啊的的
123回老家了

TOP

回复 13# ufwuwlgah

搞晕了,加上参数 /v

TOP

本帖最后由 ufwuwlgah 于 2012-6-28 01:54 编辑

回复 14# CrLf


    findstr /v "[^'-Z]" a.txt>b.txt
谢谢版主,已经测试过了,你的批处理命令完美解决,支持1.54G的文本内容处理,第六行的特殊符号也还是给删除了,那些特殊符号不要也摆,毕竟别的国家的特殊符号太多了,写出来工程量太大,正常标点符号测试没问题,赞

TOP

返回列表