Board logo

标题: [文本处理] 批处理如何查找出txt文本里每一行中指定字符出现次数少于指定次数的行 [打印本页]

作者: Rasm    时间: 2012-7-27 13:41     标题: 批处理如何查找出txt文本里每一行中指定字符出现次数少于指定次数的行

本帖最后由 pcl_test 于 2016-7-7 23:11 编辑

其实我的大概意思

现在的文本有很多行,每行都如下示例:

chaonan\beifeng\bathome\abc123456
nanfeng\wangji\pichulizhijia\wwwwww181927121
pichulizhijia\laiwang\chengji\22feneryila


每行都有3个“\”隔开,如果哪一行没有三个"\",就导出到 文本b.txt

处理文本1.txt里的内容,如果哪一行没有三个"\",就全部导出到 文本b.txt
作者: Demon    时间: 2012-7-27 14:09

  1. @echo off
  2. (for /f "tokens=1-4 delims=\" %%a in (1.txt) do (
  3.     if "%%d" == "" echo %%a\%%b\%%c
  4. )) > b.txt
  5. pause
复制代码

作者: bhsx    时间: 2012-7-27 16:02

本帖最后由 bhsx 于 2012-7-27 16:03 编辑
  1. findstr /r "^[^\\]*\\[^\\]*\\[^\\]*\\[^\\]*$" 1.txt>b.txt
复制代码

作者: apang    时间: 2012-7-27 16:11

  1. @echo off
  2. (for /f "delims=" %%a in (1.txt) do (
  3.   for %%b in ("\%%a\..\..\..") do if "%%~nxb"=="" echo,%%a
  4. ))>b.txt
复制代码

作者: Rasm    时间: 2012-7-27 21:53

回复 2# Demon


    存储空间不足,无法处理此命令。
内存不足。
请按任意键继续. . .
作者: Rasm    时间: 2012-7-28 21:02

回复 3# bhsx


    你这个是查找,而不是排除
作者: poter    时间: 2012-7-28 21:48

用vbs比较简单,而且精确
  1. option explicit
  2. dim a, b, c, d, e, ForWriting
  3. ForWriting = 2
  4. set a = createobject("scripting.filesystemobject")
  5. set b = a.opentextfile("1.txt")
  6. set e = a.createtextfile("b.txt", ForWriting)
  7. do until b.atendofstream
  8. d = b.readline
  9. if not func1(d) = 3 then
  10. e.writeline d
  11. end if
  12. loop
  13. function func1(str)
  14. set c = new regexp
  15. c.pattern = "\\"
  16. c.global = true
  17. func1 = c.execute(str).count
  18. end function
复制代码

作者: poter    时间: 2012-7-28 23:17

用BAT再做一个
  1. @ECHO OFF
  2. Setlocal enableDelayedExpansion
  3. for /f "tokens=*" %%i in (1.txt) do (
  4. set str=%%i&set str=!str:\= \!
  5. for %%j in (!str!) do (
  6. set str1=%%j
  7. if "!str1:~0,1!"=="\" set /a a+=1
  8. )
  9. if not !a!==3 echo %%i>>b.txt
  10. set a=0
  11. )
复制代码

作者: bhsx    时间: 2012-7-31 09:59

要排除的加个/v参数
  1. findstr /v /r "^[^\\]*\\[^\\]*\\[^\\]*\\[^\\]*$" 1.txt>b.txt
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2