Você pode escrever facilmente o comando "uniq" sozinho. Salve isso em um arquivo em lotes "uniq.cmd" em algum lugar do seu% path% pode encontrá-lo (por exemplo, em% windir% \ system32). Esta versão NÃO diferencia maiúsculas de minúsculas:
@echo off
setlocal DisableDelayedExpansion
set "prev="
for /f "delims=" %%F in ('sort %*') do (
rem "set" needs to be done without delayed expansion
set "line=%%F"
setlocal EnableDelayedExpansion
set "line=!line:<=<!"
if /i "!prev!" neq "!line!" echo(!line!
set "prev=!line!"
endlocal
)
Isso funciona com "uniq mytextfile" e "cat mytextfile | uniq"; como todas as entradas e argumentos são simplesmente passados para o comando de classificação.
A partir do Windows 7, você pode querer uma versão com distinção entre maiúsculas e minúsculas (a diferença não é a opção não documentada "sort / C" e não "if / i"):
@echo off
setlocal DisableDelayedExpansion
set "prev="
for /f "delims=" %%F in ('sort /C %*') do (
rem "set" needs to be done without delayed expansion
set "line=%%F"
setlocal EnableDelayedExpansion
set "line=!line:<=<!"
if "!prev!" neq "!line!" echo(!line!
set "prev=!line!"
endlocal
)
sort -u file.txt