[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理删除并提取重复行问题。

本帖最后由 每天几分 于 2015-3-9 14:03 编辑

额,跟前2天发的帖子差不多,那个是汉字在前面,现在这个是字母在前面。
  1. kb 只
  2. kb 吧
  3. kbb 冀
  4. kbb 吡
  5. kbb 喈
  6. kbd 卟
  7. kbd 只
  8. kbd 叭
  9. kbd 吩
  10. kbd 呗
  11. kbd 员
  12. kbl 勋
  13. kbn 嘤
  14. kbp 邶
  15. kbp 郧
复制代码
文本如上,不用排序,如果每行的3个字母跟下两行的3个字母重复,则删除并提取出来,最终输入如下2个文本。
  1. kb 只
  2. kb 吧
  3. kbl 勋
  4. kbn 嘤
  5. kbp 邶
  6. kbp 郧
复制代码
  1. kbb 冀
  2. kbb 吡
  3. kbb 喈
  4. kbd 卟
  5. kbd 只
  6. kbd 叭
  7. kbd 吩
  8. kbd 呗
  9. kbd 员
复制代码

本帖最后由 pcl_test 于 2015-3-9 13:38 编辑

回复 3# 每天几分
问题得到解答以后在标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html

TOP

回复 3# 每天几分
把CrLf 的代码中的两个输出语句中的>改为>>
把a.txt(字库文件)放在C盘根目录下
使用powershell的几种方法
方法一、点开开始菜单->运行,输入powershell,确定(或者在命令提示符里键入powershell,回车) ->键入cd C: ,回车 ->把代码复制粘贴进去,按两次回车,在C盘根目录下就会生成“大等3.txt”和“小于3.txt”两个文件
方法二、点开开始菜单->所有程序 ->附件 ->Windows PowerShell ,这里有种方式:1、点击进入Windows PowerShell,余下步骤同方法一 2、点击进入Windows PowerShell ISE,上框同方法三,中框为反馈信息,下框同方法一
方法三、进入powershell,键入Set-ExecutionPolicy RemoteSigned ,回车,键入y,回车,把代码用记事本另存为xxx.ps1脚本文件,选中并右键xxx.ps1脚本文件 ->使用PowerShell运行
1

评分人数

TOP

本帖最后由 cobat 于 2015-3-8 11:56 编辑

改了下apang的代码
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f %%a in ('type 1.txt^&echo,') do (
  4.     if "%%a" neq "!b!" (
  5.         if !n! geq 3 set s=!s! !b!
  6.         set n=1
  7.     ) else set/a n+=1
  8.     set b=%%a
  9. )
  10. findstr /v "!s!" 1.txt>2.txt
  11. findstr "!s!" 1.txt>3.txt
  12. pause
复制代码
1

评分人数

TOP

回复 2# CrLf


    不懂用这个powershell啊。。

TOP

powershell:
  1. $group = Get-Content a.txt | Group-Object {($_ -Split " ")[0]}
  2. $group | ForEach-Object {
  3.    if($_.Count -ge 3){
  4.       $_.Group >大等3.txt
  5.    } else {
  6.       $_.Group >小于3.txt
  7.    }
  8. }
复制代码
1

评分人数

TOP

返回列表