标题: [文本处理] 批处理怎样删除纯数字5位和5位以上的行? [打印本页]
作者: w1983912 时间: 2010-10-27 03:55 标题: 批处理怎样删除纯数字5位和5位以上的行?
TXT内容:
游戏 ab
655441111
123
1 9
56321
1 a
1234
游戏 1
123365411555454
5 go走
vv 10000
得到新TXT 内容
游戏 ab
123
1 9
1 a
1234
游戏 1
5 go走
vv 10000
只删除纯数字 有空的纯数字 只要有5位的 都删除 比如:1 10000 或99 6555555 05 这2个词
有劳各位 先谢谢了
作者: hfg1977 时间: 2010-10-27 06:23
xxx.txt内容:- 游戏 ab
- 655441111
- 123
- 1 9
- 56321
- 1 a
- 1234
- 游戏 1
- 123365411555454
- 5 go走
- vv 10000
- 1 10000
- 99 6555555 05
复制代码
- grep -v "^[0-9]* \?[0-9 ]*[0-9]\{5,\}[0-9 ]*$" xxx.txt
复制代码
作者: yangfengoo 时间: 2010-10-27 08:20
- @echo off
- for /f "delims=" %%a in ('findstr /v [0-9][0-9][0-9][0-9][0-9] a.txt') do echo %%a
- pause
复制代码
作者: hfg1977 时间: 2010-10-27 11:25
findstr 不能实现该目的,
如 :
99 游戏 6555555
作者: w1983912 时间: 2010-10-27 13:23 标题: 谢谢
确实 啊 2楼的朋友 代码没反应 我有grep.exe 文件 保存你的代码为bat 无反映
3楼的确实如4楼说的
继续请教
作者: hfg1977 时间: 2010-10-27 18:07
G:\DOS>grep --ver
grep (GNU grep) 2.5.1
我这里运行好好的呀,怎么会没反应??
作者: hfg1977 时间: 2010-10-27 18:09
检查版本和path.
20202020
作者: w1983912 时间: 2010-10-27 19:10 标题: 回复 7楼 的帖子
我目前只有grep.exe 文件 但是看不到版本啊 我把这文件放在bat同一个文件夹里 能帮我把你测试的代码和需要使用的程序打包后传到论坛么 谢谢
作者: Batcher 时间: 2010-10-27 19:17 标题: 回复 8楼 的帖子
不要双击运行
到命令行里面去
把@echo off删掉
在合适的地方加上pause
看看执行过程再好好想想
如果想不通
就把执行过程贴出来让别人帮你讲解
作者: w1983912 时间: 2010-10-27 21:46 标题: 回复 9楼 的帖子
.........................头都大了 实在无法 就凑合使用吧。。。。。。 谢谢
作者: lvsehuaxue 时间: 2011-6-11 21:34
- findstr /v "^[0-9][0-9][0-9]*[0-9][0-9][0-9]$" a.txt
复制代码
作者: Batcher 时间: 2011-6-11 22:38
- perl -lane "print if not $_ =~ /[0-9]{5,}/" a.txt
复制代码
作者: 我是马甲 时间: 2011-6-12 00:12
findstr /b /v "[0-9][0-9][0-9][0-9][0-9]*" a.txt
作者: lvsehuaxue 时间: 2011-6-12 08:38
本帖最后由 lvsehuaxue 于 2011-6-12 08:40 编辑
13# 我是马甲
楼上的不行,如果是纯4位数也被过滤。再如,123456aaaa也会被过滤。
作者: pcl_test 时间: 2015-4-1 15:57
本帖最后由 pcl_test 于 2015-4-1 16:01 编辑
回复 1# w1983912 - @@echo off & setlocal enabledelayedexpansion
- (for /f "delims=" %%a in ('type "测试.txt"') do (
- set "str=%%a"
- set "str=!str: =!"
- set "word=!str!ж"
- for /l %%b in (0 1 9) do set "word=!word:%%b=!"
- if not "!word!" == "ж" (
- echo,%%a
- ) else if "!str:~4,1!" == "" echo,%%a
- ))>"结果.txt"
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |