Nuestro equipo de especialistas despúes de varios días de investigación y de recopilar de datos, encontramos la solución, nuestro deseo es que resulte útil para ti en tu trabajo.
Solución:
los Sort-Object
cmdlet en PowerShell admite un -Unique
interruptor que hace lo mismo que uniq
:
Get-Content file.txt | Sort-Object -unique
Por supuesto, debido a la presencia de alias en PowerShell, también puede escribir:
type file.txt | sort -unique
Además, hay un indocumentado /unique
cambiar en sort.exe
de Windows 10, entonces, esto debería funcionar en el símbolo del sistema:
type file.txt | sort /unique
Hay puertos de uniq que funcionan de manera idéntica a las versiones de gnu/coreutils. Yo personalmente uso la variación de GOW pero git para Windows tiene una versión significativamente más nueva. No se requiere cygwin, aunque para este último debe buscar en /usr/bin
Dado que estos paquetes también contienen cat, sort y uniq, su flujo de trabajo debe ser prácticamente idéntico y cat file.txt |sort | uniq
debería funcionar en su mayoría de manera idéntica
Puede escribir fácilmente el comando “uniq” usted mismo. Guárdelo en un archivo por lotes “uniq.cmd” en algún lugar de su %path% para 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:<=
Esto funciona con "uniq mytextfile" así como con "cat mytextfile | uniq"; ya que todas las entradas y argumentos simplemente se pasan al comando de ordenación.
A partir de Windows 7, es posible que desee una versión que realmente distinga entre mayúsculas y minúsculas (la diferencia es un 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:<=
Te invitamos a añadir valor a nuestro contenido informacional colaborando tu experiencia en las ilustraciones.