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

[文本处理] [已解决]如何提取一个txt文本内重复出现次数等于指定数目的行内容

[复制链接]
发表于 2014-7-23 19:49:14 | 显示全部楼层 |阅读模式
比如1个txt文本1lh.txt,内容为
111
113
131
118
311
313
331
333
116
118
.
.
.
897
958
994

欲批量提取该文本中出现次数为8-11的数据,并写入新文件1lh8-11.txt

评分

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

查看全部评分

发表于 2014-7-23 20:19:58 | 显示全部楼层
本帖最后由 CrLf 于 2014-7-24 00:12 编辑
  1. @echo off
  2. cd /d c:\文件夹1
  3. for /f "delims=" %%a in ('dir /b /a-d *.txt') do call :处理 "%%a">"文件夹2\%%~na0-3%%~xa"
  4. pause&exit

  5. :处理
  6. setlocal
  7. for /f "delims=" %%a in (%~snx1) do set /a #%%a#+=1
  8. for /f "delims=#" %%a in ('set #^|findstr "=[0-3]$"') do echo %%a
复制代码

评分

参与人数 1技术 +1 收起 理由
ysrr2011 + 1 感谢

查看全部评分

发表于 2014-7-23 21:43:04 | 显示全部楼层
回复 2# CrLf
是不是该set #|findstr "=[0-3]$"呢?

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 感谢指正!

查看全部评分

 楼主| 发表于 2014-7-23 21:56:38 | 显示全部楼层
谢谢,不过运算出的结果不对,比如原文件里011有11个,运算出来的结果仍有011,附上原文件的统计结果,请帮忙再改改好吗?
 楼主| 发表于 2014-7-23 22:05:03 | 显示全部楼层
谢谢3楼,解决问题了,确实要加$,也谢谢2楼。
 楼主| 发表于 2014-7-23 22:49:46 | 显示全部楼层
如果对一个文件夹1里的所有文件1lh.txt,1lc.txt....都进行同样处理,结果写入文件夹2的1lh0-3.txt,1lc.0-3.txt...应该如何编程?
发表于 2014-7-23 23:11:15 | 显示全部楼层
回复 6# ysrr2011


    已修改
 楼主| 发表于 2014-7-23 23:49:59 | 显示全部楼层
试了下,只有第一个文件结果是正确的。
发表于 2014-7-24 00:12:24 | 显示全部楼层
回复 8# ysrr2011


    已修改
 楼主| 发表于 2014-7-24 10:13:51 | 显示全部楼层
回复 9# CrLf


    感谢CrLf,提取出现次数9以下的数据完美运行,但如果要提取出现次数>9,比如8-11次的数据就不对了。
发表于 2014-7-24 13:51:23 | 显示全部楼层
回复 10# ysrr2011


    findstr "=[89]$ =1[01]$"

评分

参与人数 1技术 +1 收起 理由
ysrr2011 + 1 感谢

查看全部评分

发表于 2014-7-24 16:27:11 | 显示全部楼层
powershell 也可以这样:
  1. foreach($file in (get-childitem *.txt)){
  2.         get-content $file|group-object|where-object{$_.count -ge 8 -or $_.count -le 11}|select-object name >($file.name + '8_11' + $file.extension)
  3. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 10:44 , Processed in 0.011765 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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