找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 26523|回复: 5

[文本处理] [已解决]批处理查找/提取文本中指定位置的特定字符串的字符个数少于/小于指定数值的行

[复制链接]
发表于 2014-3-19 20:37:57 | 显示全部楼层 |阅读模式
本帖最后由 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

研究了半天,又看到比大小筛选的,但是小弟这个一行是一个完整的一部分,思维匮乏,望各位论坛大大帮忙解决。

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

 楼主| 发表于 2014-3-19 20:41:22 | 显示全部楼层
为答谢帮忙的老师
小弟会另为附上微不足道微信红包,当让会加上微信咯,以后会经常请教的
发表于 2014-3-19 20:58:06 | 显示全部楼层
方法一
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "tokens=1* delims=-" %%i in (a.txt) do (
  4.     set n=%%~ni
  5.     REM set n=!str:/*=!
  6.     if !n! lss 100000 (
  7.         echo %%i-%%j
  8.     )
  9. ))>b.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
yisama + 1 多谢

查看全部评分

发表于 2014-3-19 21:00:10 | 显示全部楼层
方法二
  1. findstr /v "\/[0-9][0-9][0-9][0-9][0-9][0-9]" a.txt > b.txt
复制代码
 楼主| 发表于 2014-3-19 21:10:44 | 显示全部楼层
万分感谢,经过测试!

再次感谢大哥 感谢论坛 感谢ccav
发表于 2014-3-20 00:50:14 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "delims=" %%a in (a.txt) do (
  3.     for /f "delims=-" %%i in ("%%~na") do (
  4.         set "str=%%i"
  5.         if "!str:~5!" == "" echo %%a
  6.     )
  7. ))>b.txt
  8. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 12:21 , Processed in 0.020924 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表