Bạn có thể dễ dàng viết lệnh "uniq" một mình. Lưu tệp này trong một tệp bó "uniq.cmd" ở đâu đó trong% path% của bạn có thể tìm thấy nó (ví dụ: trong% Windir% \ system32). Phiên bản này KHÔNG phân biệt chữ hoa chữ thường:
@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
)
Điều này hoạt động với "uniq mytextfile" cũng như "cat mytextfile | uniq"; vì tất cả các đầu vào và đối số chỉ đơn giản được truyền cho lệnh sort.
Bắt đầu với Windows 7, bạn có thể muốn có một phiên bản phân biệt chữ hoa chữ thường (sự khác biệt giữa chuyển đổi không có giấy tờ "sort / C" và không "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