Puede escribir fácilmente el comando "uniq" usted mismo. Guarde esto en un archivo por lotes "uniq.cmd" en algún lugar de su% path% puede encontrarlo (por ejemplo, en% windir% \ system32). Esta versión NO distingue entre mayúsculas y 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
)
Esto funciona con "uniq mytextfile" y "cat mytextfile | uniq"; ya que todas las entradas y argumentos simplemente se pasan al comando de clasificación.
A partir de Windows 7, es posible que desee una versión realmente sensible a mayúsculas y minúsculas (la diferencia es que el interruptor no documentado "sort / C" y no "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