Board logo

标题: 剔除重复行 [打印本页]

作者: xycoordinate     时间: 2008-1-14 09:26    标题: 剔除重复行

有1文本
王A 男 340505
王B 男 340503
王A 男 340505
王B 男 340503
王B 男 340503
王C 女 340502
王A 男 340505

想剔除重复行,得到
王A 男 340505
王B 男 340503
王C 女 340502

???????
作者: jmz573515     时间: 2008-1-14 09:44

@echo off
for /f "delims=" %%i in (a.txt) do (
        findstr /c:"%%i" b.txt 2>nul||echo %%i>>b.txt
)
pause
[ Last edited by jmz573515 on 2008-1-14 at 09:49 AM ]
作者: xycoordinate     时间: 2008-1-14 10:06
3KS
作者: lxmxn     时间: 2008-1-14 18:26
bat
@echo %bg% off&SetLocal EnableDelayedExpansion

for /f "delims=" %%a in (a.txt) do (
    if not "!%%a!"=="batch" (
        echo\[%%a]
        set %%a=batch
    )
)
endlocal
pause
awk
gawk "!a[$0]++" a.txt

作者: HAT     时间: 2008-1-14 20:53
sort
sort -u a.txt

作者: honghunter     时间: 2008-1-14 21:12


  Quote:
Originally posted by HAT at 2008-1-14 08:53 PM:
sort
sort -u a.txt

你说的这个,不是win下的吧,我看win XP下的sort好像就没有-u这个参数。
作者: HAT     时间: 2008-1-14 21:58


  Quote:
Originally posted by honghunter at 2008-1-14 09:12 PM:



你说的这个,不是win下的吧,我看win XP下的sort好像就没有-u这个参数。


看见斑竹提到了awk于是就想到了sort呵呵
作者: zyz0304360     时间: 2008-1-14 22:08
学习
作者: lixuej     时间: 2008-1-15 09:07
学习学习
作者: grapeskin     时间: 2008-1-15 17:09
又学了一招,每次来都有收获,呵呵
作者: moniuming     时间: 2008-1-22 14:25
版主的echo %bg% off和echo\[%%a]是什么,请问能解释一下吗,同时去掉%bg%和\[]也能正常显示啊
作者: NaturalJ0     时间: 2008-2-19 18:43
set %%a=batch
这句没看懂
==================
唉,一时没转过转来,看明白了,顶了下老贴.

[ Last edited by NaturalJ0 on 2008-2-19 at 06:48 PM ]
作者: zerocq     时间: 2008-2-19 20:47
uniq.exe 1.txt>2.txt
作者: bobo247     时间: 2008-2-20 09:47
没看懂,谁帮忙解释一下
"!%%a!"是什么意思
作者: ansipeter     时间: 2008-2-20 11:48
严格的来说,二楼如果加上/X参数就更好了
作者: plp626     时间: 2008-2-27 14:26
改进2楼的:
@echo off
cd.>b.txt
for /f "eol= delims=" %%i in (a.txt) do (
        findstr /xc:"%%i" b.txt >nul 2>nul||echo %%i>>b.txt
)
type b.txt
pause

作者: fangtanba     时间: 2008-7-16 12:13
晕晕的,要好好学习呀,