Ich muss doppelte Zeilen aus einer Textdatei entfernen, dies ist in Linux einfach zu verwenden
cat file.txt |sort | uniq
wenn file.txt enthält
aaa bbb aaa ccc
Es wird ausgegeben
aaa bbb ccc
Gibt es ein Windows-Äquivalent? oder wie geht das auf Windows?
Unter Unix könnten Sie es als `sort -u file.txt` schreiben
jfs vor 6 Jahren
6
Es gibt auch eine WSL, die ziemlich gut funktioniert, soweit es so geht
user2813274 vor 6 Jahren
1
Vielleicht möchten Sie etwas als Lösung festlegen, wenn Sie keine weiteren Fragen haben?
davidbaumann vor 6 Jahren
0
2 Antworten auf die Frage
18
Yu Jiaao
Das Sort-ObjectCmdlet in PowerShell unterstützt einen -UniqueSwitch, der dasselbe tut wie uniq:
Get-Content file.txt | Sort-Object -unique
Da in PowerShell Aliasnamen vorhanden sind, können Sie natürlich auch Folgendes schreiben:
type file.txt | sort -unique
Darüber hinaus gibt es /uniquein sort.exeWindows 10 einen undokumentierten Schalter. Daher sollte dies in der Eingabeaufforderung funktionieren:
type file.txt | sort /unique
Ich glaube nicht, dass der Windows-Befehl (`sort.exe`) dies unterstützt. Es sieht aus wie eine Funktion der integrierten PowerShell.
Ben Voigt vor 6 Jahren
1
Geben Sie unsorted.txt | ein sort -unique> sortiert.txt Dies funktioniert wirklich unter win10 und schreibt eindeutige Werte in die neue Datei
Lixas vor 6 Jahren
0
@BenVoigt überraschenderweise `` file.txt | sort / unique` funktioniert mit dem _undocumented_ switch `/ unique` des` sort.exe`-Dienstprogramms (zumindest unter Windows 10). Auf der anderen Seite haben Sie Recht, das angegebene Beispiel ist PowerShell `Get-Content file.txt | Sort-Object-unique` in der Tat.
JosefZ vor 6 Jahren
5
@Lixas `geben Sie unsorted.txt | ein sort -unique` gibt `-unique zurück. Das System kann die angegebene Datei mit dem Errorlevel` 1` nicht finden, wenn sie von einer offenen `cmd`-Eingabeaufforderung unter Windows 10 ausgeführt wird!
JosefZ vor 6 Jahren
0
`sort / unique`-Fehler mit` Invalid switch.` unter Windows 7 Enterprise.
Don Cruickshank vor 6 Jahren
1
5
Journeyman Geek
Es gibt Ports von uniq, die identisch zu den gnu / coreutils-Versionen funktionieren. Ich persönlich benutze die Variante von GOW, aber git für Windows hat eine wesentlich neuere Version . Kein Cygwin erforderlich, für letzteres müssen Sie jedoch in / usr / bin suchen
Da diese Pakete auch cat, sort und uniq enthalten, sollte Ihr Workflow weitgehend identisch sein und cat file.txt |sort | uniqweitgehend identisch funktionieren