Board logo

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

作者: ufwuwlgah    时间: 2012-6-21 23:14     标题: [已解决]用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
作者: CrLf    时间: 2012-6-22 11:37

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

作者: ufwuwlgah    时间: 2012-6-22 13:11

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


处理不了,还是一样到了800KB
作者: forfiles    时间: 2012-6-22 13:40

回复 3# ufwuwlgah


    2楼的代码你是不是自己添加了more命令?
作者: ufwuwlgah    时间: 2012-6-23 15:09

回复 4# forfiles


    没添加啊
作者: ufwuwlgah    时间: 2012-6-23 15:14

回复 2# CrLf


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

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

作者: ufwuwlgah    时间: 2012-6-26 20:58

回复 7# forfiles
呵呵,你的2个代码都把有用的删除了,留了没用的
作者: CrLf    时间: 2012-6-26 21:26

回复 8# ufwuwlgah

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

作者: forfiles    时间: 2012-6-26 21:40

回复 8# ufwuwlgah


    我是照了2楼写的
作者: ufwuwlgah    时间: 2012-6-27 00:12

回复 9# CrLf


    版主,你的能不能再改一下,第6行是各种各样的符号,不能删除
作者: CrLf    时间: 2012-6-27 06:33

findstr "[^'-Z]" a.txt>b.txt
作者: ufwuwlgah    时间: 2012-6-27 09:36

回复 12# CrLf

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

    我是一个男人
啊啊41545545
啊啊fsfsfedf
      啊啊的的
123回老家了
作者: CrLf    时间: 2012-6-27 12:46

回复 13# ufwuwlgah

搞晕了,加上参数 /v
作者: ufwuwlgah    时间: 2012-6-28 01:46

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

回复 14# CrLf


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




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