标题: [文本处理] [已解决]批处理如何删除TXT里没有连续数字的行? [打印本页]
作者: liziyunabcd 时间: 2019-12-25 23:52 标题: [已解决]批处理如何删除TXT里没有连续数字的行?
一个很大的TXT里,有很多行,大多数行里有连续的数字,连续4个到10几个不等,有连续数字的行都要保留,删除没有连续数字的行。
例如:
maoyi44589/-3-5
yaomaoy4464/-3-5
zhuyou/-5-5
要求:删除第三行这种没有连续数字的行。
求大神相助。:handshake
作者: /zhqsystem/zhq 时间: 2019-12-26 00:05
/前边是俩数字或是以上吗?
作者: liziyunabcd 时间: 2019-12-26 15:07
回复 2# /zhqsystem/zhq
对啊,大神· :handshake ···有解决方案吗:?
作者: liziyunabcd 时间: 2019-12-26 15:09
回复 2# /zhqsystem/zhq
我在网上搜了好几天,都找不到类似的代码···头都大了·
作者: cfwyy77_bat 时间: 2019-12-26 16:30
sed 了解一下?- sed -E '/[0-9]{2,}/!d' 1.txt
复制代码
作者: liziyunabcd 时间: 2019-12-26 16:47
回复 5# cfwyy77_bat
大神,有没有BAT。VBS之类的代码?
SED一点也不了解
作者: /zhqsystem/zhq 时间: 2019-12-26 22:44
回复 4# liziyunabcd
- SetLocal EnableDelayedExpansion
- for /l %%n in (0,1,9)do for /l %%o in (0,1,9)do set "数字链%%n%%o=%%n%%o"
- for /f "delims=" %%i in ('type "%~f1"')do (
- for /f "tokens=1,* delims=/" %%j in ("%%i")do (
- set "#=%%j"&set "$="
- for /f "tokens=1,* delims==" %%y in ('set 数字链')do if /i not "!#:%%z=!"=="!#!" set "$=ture"
- if defined $ (
- >>"正常数据_%~n1.txt" echo,%%i
- )else (
- >>"异常数据_%~n1.txt" echo,%%i
- )
- )
- )
复制代码
作者: liziyunabcd 时间: 2019-12-26 22:50
回复 7# /zhqsystem/zhq
跪拜大神 ··太牛了!
作者: /zhqsystem/zhq 时间: 2019-12-26 22:55
回复 8# liziyunabcd
别急着膜拜,这个有BUG的,只要斜杠前边有两个数字,不管在哪都会成功运行 示例:12qwert 这种也会判定正确的,纯批有要求,不要有特殊字符
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |