找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 31518|回复: 14

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

[复制链接]
发表于 2012-6-21 23:14:47 | 显示全部楼层 |阅读模式
本帖最后由 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

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2012-6-22 11:37:24 | 显示全部楼层
用 findstr 或 sed 试试:
  1. findstr /v "['-Z]" a.txt>b.txt
复制代码
  1. sed "/[\x80-\xff]/d" a.txt>b.txt
复制代码
 楼主| 发表于 2012-6-22 13:11:05 | 显示全部楼层
用 findstr 或 sed 试试:
CrLf 发表于 2012-6-22 11:37


处理不了,还是一样到了800KB
发表于 2012-6-22 13:40:51 | 显示全部楼层
回复 3# ufwuwlgah


    2楼的代码你是不是自己添加了more命令?
 楼主| 发表于 2012-6-23 15:09:00 | 显示全部楼层
回复 4# forfiles


    没添加啊
 楼主| 发表于 2012-6-23 15:14:22 | 显示全部楼层
回复 2# CrLf


        你的第2个代码可以,还有点问题,就是把第6行也给删除了,那时各种各样的符号,不能删除,只要删除带汉字的行,
能不能把 sed "/[\x80-\xff]/d" a.txt>b.txt 中的/[\x80-\xff]/d换回[0-9a-zA-Z ]这样的形式,你的代码我新人看不懂啊
发表于 2012-6-24 08:11:45 | 显示全部楼层
回复 6# ufwuwlgah
  1. sed "/[0-9a-zA-Z ]/d" a.txt >b.txt
复制代码
  1. sed -i "/[0-9a-zA-Z ]/d" a.txt
复制代码
 楼主| 发表于 2012-6-26 20:58:31 | 显示全部楼层
回复 7# forfiles
呵呵,你的2个代码都把有用的删除了,留了没用的
发表于 2012-6-26 21:26:45 | 显示全部楼层
回复 8# ufwuwlgah

加个 ^ 取补集就可以了。
但是你给出的集合中并不包括标点符号啊...
  1. sed "/[^0-9a-zA-Z ]/d" a.txt >b.txt
复制代码
发表于 2012-6-26 21:40:09 | 显示全部楼层
回复 8# ufwuwlgah


    我是照了2楼写的
 楼主| 发表于 2012-6-27 00:12:09 | 显示全部楼层
回复 9# CrLf


    版主,你的能不能再改一下,第6行是各种各样的符号,不能删除
发表于 2012-6-27 06:33:07 | 显示全部楼层
findstr "[^'-Z]" a.txt>b.txt

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2012-6-27 09:36:10 | 显示全部楼层
回复 12# CrLf

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

    我是一个男人
啊啊41545545
啊啊fsfsfedf
      啊啊的的
123回老家了
发表于 2012-6-27 12:46:34 | 显示全部楼层
回复 13# ufwuwlgah

搞晕了,加上参数 /v
 楼主| 发表于 2012-6-28 01:46:38 | 显示全部楼层
本帖最后由 ufwuwlgah 于 2012-6-28 01:54 编辑

回复 14# CrLf


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

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 06:14 , Processed in 0.016152 second(s), 12 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表