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
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
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
晕晕的,要好好学习呀,