标题: [文本处理] 批处理如何删除文本数字行?文本有千万数据? [打印本页]
作者: idc878787 时间: 2023-4-13 09:32 标题: 批处理如何删除文本数字行?文本有千万数据?
删除文本数字行?文本有千万数据?
文本a.txt 内容如下
yyghsw.xmk
gzugo.xmk
hzjxwuliu.xmk
34599.xmk
kubiao100.xmk
34554-3453.xmk
adverthk.xmk
45645-7657.xmk
cn-xqwl.xmk
4335499.xmk
删除下面的这4行 怎么写?
34599.xmk
34554-3453.xmk
45645-7657.xmk
4335499.xmk
作者: Batcher 时间: 2023-4-13 09:44
回复 1# idc878787
http://bcn.bathome.net/s/tool/index.html?key=grep- grep -vE "^[-0-9]+.xmk$" 1.txt > 2.txt
复制代码
作者: idc878787 时间: 2023-4-13 10:07
回复 2# Batcher
多谢
作者: hlzj88 时间: 2023-4-13 19:50
- findstr /ivb "1 2 3 4 5 6 7 8 9 0" a.txt>>b.txt
复制代码
作者: Batcher 时间: 2023-4-13 20:03
回复 4# hlzj88
我猜楼主的千万数据里面有类似这样的需要保留:
1a.xmk
作者: qixiaobin0715 时间: 2023-4-14 09:18
使用findstr可以这样。
1.如果数字行最多只有一个短横分隔且短横位于数字与数字之间,可以进行精确表达:- findstr /xv "[0-9][0-9]*.xmk [0-9][0-9]*-[0-9][0-9]*.xmk" 1.txt>2.txt
复制代码
2.如果存在多个短横,就不能精确表达,大致这样:- findstr /xv "[0-9].xmk [0-9][-0-9]*[0-9].xmk" 1.txt>2.txt
复制代码
作者: qixiaobin0715 时间: 2023-4-14 09:25
findstr中的所谓“一般表达式”使用起来比较别扭,还是使用其它语言的正则表达式比较顺手且不是一般的强大。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |