有没有过滤文本重复内容的批处理?

例如一个文本里面有100行内容,其中有某些内容是相同的,有没有可以过滤掉相同的最后分别保留一行不同内容的批处理?... 例如一个文本里面有100行内容,其中有某些内容是相同的,有没有可以过滤掉相同的最后分别保留一行不同内容的批处理? 展开
 我来答
匿名用户
2013-07-16
展开全部
@echo off
title 比较文本批处理 %date%
mode con: cols=50 lines=10
color 1f
echo.
echo 文件对比
echo.
echo 1、过滤文本重复行
echo 2、提取文本重复行
echo 3、比较文本提取重复行
echo 4、比较文本提取不重复
echo.
echo.
set /p wo=(Q退出)请正确选择:
::过滤
if %wo% equ n (goto :q) else (if %wo% gtr 4 (%0) else (if %wo% lss 1 %0))
if %wo% ==1 goto :1
if %wo% ==2 goto :2
if %wo% ==3 goto :3
if %wo% ==4 goto :4
goto :eof
:1
cls
echo 过滤文本重复行
echo.
set /p wb=请输入要处理的[路径]文本:
set /p wb1=请输入处理后生成的[路径]文本:
for /f "delims=" %%i in (%wb%) do (
if not defined %%i set %%i=A & echo %%i>>%wb1%
)
echo 处理完成
ping /n 2 127.0.1 >nul
goto :eof
:2
cls
setlocal enabledelayedexpansion
echo 提取文本重复行
echo.
set /p wb=请输入要处理的[路径]文本:
set /p wb1=请输入处理后生成的[路径]文本:
for /f "delims=" %%a in ('sort %wb%') do (
if %%a equ !b! echo %%a>>%wb1%
set b=%%a)
echo 处理完成
ping /n 2 127.0.1 >nul
goto :eof
:3
cls
echo 比较文本提取重复行
echo,
echo (如有:1.txt 2.txt 提取1.txt在2.txt里出现的行)
echo.
set /p wb1=请输入要处理的[路径]文本1:
set /p wb2=请输入要处理的[路径]文本2:
set /p wb3=请输入处理后生成的[路径]文本:
for /f "delims=" %%c in (%wb1%) do (
findstr "%%c" %wb2%>nul &&echo %%c>>%wb3%)
echo 处理完成
ping /n 2 127.0.1 >nul
goto :eof
:4
cls
echo 比较文本提取不重复
echo,
echo (如有:1.txt 2.txt 提取1.txt在2.txt里没有的行)
echo.
set /p wb1=请输入要处理的[路径]文本1:
set /p wb2=请输入要处理的[路径]文本2:
set /p wb3=请输入处理后生成的[路径]文本:
for /f "delims=" %%c in (%wb1%) do (
findstr "%%c" %wb2%>nul ||echo %%c>>%wb3%)
echo 处理完成
ping /n 2 127.0.1 >nul
goto :eof
:q
goto :eof
匿名用户
推荐于2016-07-03
展开全部
将代码保存为“过滤.bat”,将过滤的文本改名为“test.txt” 运行批处理即可 :@echo off&mode con cols=50 lines=20&color 0f
cd.>过滤.txt
for /f "tokens=1* delims=:" %%i in ('findstr /n .* test.txt') do (
findstr /r /b /e /c:"%%j" "过滤.txt" 1>nul 2>nul || >>过滤.txt echo.%%j
)
pause
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式