标题: [文本处理] [已解决]批处理查找/提取文本中指定位置的特定字符串的字符个数少于/小于指定数值的行 [打印本页]
作者: yisama 时间: 2014-3-19 20:37 标题: [已解决]批处理查找/提取文本中指定位置的特定字符串的字符个数少于/小于指定数值的行
本帖最后由 pcl_test 于 2016-11-25 08:50 编辑
三生有幸发现此论坛
目前小弟遇到一个难题,A.txt每行都是一个URL,其中包含数字,效果如下
http://www.abc.com/product/405917-68-2.html
http://www.abc.com/product/405917-94-4.html
http://www.abc.com/product/405918-38-9.html
http://www.abc.com/product/405919-41-7.html
http://www.abc.com/product/40592-43-6.html
http://www.abc.com/product/40592-64-1.html
405917-68-2.html 这个部分 如果第一部分(这里是405917) 超过5位就不需要,剩下符合条件的保存到B.txt
研究了半天,又看到比大小筛选的,但是小弟这个一行是一个完整的一部分,思维匮乏,望各位论坛大大帮忙解决。
作者: yisama 时间: 2014-3-19 20:41
为答谢帮忙的老师
小弟会另为附上微不足道微信红包,当让会加上微信咯,以后会经常请教的
作者: DAIC 时间: 2014-3-19 20:58
方法一- @echo off
- setlocal enabledelayedexpansion
- (for /f "tokens=1* delims=-" %%i in (a.txt) do (
- set n=%%~ni
- REM set n=!str:/*=!
- if !n! lss 100000 (
- echo %%i-%%j
- )
- ))>b.txt
复制代码
作者: DAIC 时间: 2014-3-19 21:00
方法二- findstr /v "\/[0-9][0-9][0-9][0-9][0-9][0-9]" a.txt > b.txt
复制代码
作者: yisama 时间: 2014-3-19 21:10
万分感谢,经过测试!
再次感谢大哥 感谢论坛 感谢ccav
作者: terse 时间: 2014-3-20 00:50
- @echo off&setlocal enabledelayedexpansion
- (for /f "delims=" %%a in (a.txt) do (
- for /f "delims=-" %%i in ("%%~na") do (
- set "str=%%i"
- if "!str:~5!" == "" echo %%a
- )
- ))>b.txt
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |