各位高手,本人想编写一个批处理用于剔除文本文件中相同记录,虽然下面的脚本能够完成任务,但我认为sed命令非常强大,应该能够提高我的脚本效率.本人刚接触sed命令,还请高手指教!!
@echo off
set /a num=0
for /f %%i in (test.txt) do set /a num+=1
echo 发现了%num%条记录。
echo.
echo 正在剔除相同记录,请稍后......
echo.
for /l %%a in (1,1,%num%) do (
sed -n "%%a"p test.txt>temp1.txt
rem 提取比较项
for /f "tokens=*" %%i in (temp1.txt) do (
echo %%i>temp2.txt
sed "/%%i/d" test.txt>>temp2.txt
rem 删除相同项。 这条语句能用嵌套语句吗?
type temp2.txt>test.txt
)
)
set /a num=0
for /f %%i in (test.txt) do set /a num+=1
echo.
echo 保留了%num%条文件记录。
del /f /q temp*.txt作者: lxmxn 时间: 2007-6-29 11:34 举个具体的例子吧。作者: wbshu 时间: 2007-6-29 11:39 比如test.txt文件是: