比如,log.txt文件中 有大概如下内容
“DSS112211100009试试的价格卡了坤宁宫是就开始锻炼高考阿娇快乐时光DSS112211100012就开始了大半年2 3nnk2kn”
需要做到的是,将这个文件中每个无论在什么位置的以DSS开头后面的12位数字进行导出。导出的效果就是拷贝到另一个文件比如2.txt
DSS112211100009
DSS112211100012
(如果能去掉2.txt的重复就更好了,各位帮帮忙,后面这点如果都做到我会增添100分数)
"我也建议您先用word处理一步,就是将log.txt中所有的DSS替换成^pDSS;“这一步可否用批处理在一起实现?
这个我试验了 确实挺不错,可是有两个bug ,一个是因为/f "tokens=*" %%i in ('type "%f1%"') 全文都放进去了,出现了一个情况,就是如果我log过大,就会丢失,能否改成一行行读取进行筛选,然后再对筛选出来的内容进行排除重复?
我筛选的时候发现“【】”这种字符貌似会出错。。。。
追问后改写过的,能适合稍大一些文件,现还是再改写一下。另有位网友答的并没判断dss后是否为数字,我答的是判断了的,但并不是越严谨越好,那是会影响运行速度的,有些情况描述详细些不仅减少代码难度,重要的是对使用有利。 比如有的段是否很长、是否虽然文件很大但涉及获取的行不多... 等等。之前写的主要有三点没考虑:出现特征串数太多、文本中有半角"!"符会丢失该行成对“!”之间的数据、丢失以";"符开头行的数据。现写的代码已纠正,考虑大文件运行时间长等待难耐增加屏幕显示原文件具特征行的行序,当然如果文件特别大,由于现有CMD命令的局限性还是会有问题的
本回答被提问者采纳