Windows entspricht dem Befehl 'tail'
Gibt es eine Möglichkeit, zu simulieren und die *nix - Schwanz Befehl auf der Windows-Kommandozeile? Ich habe eine Datei und ich möchte einen Weg, um snip aus der ersten n Zeilen text. Zum Beispiel:
D:\>type file.txt
line one
line two
line three
D:\>*[call to tail]* > result.txt
D:\>type result.txt
line two
line three
InformationsquelleAutor der Frage Chris Smith | 2009-08-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kein genaues äquivalent. Allerdings gibt es eine native DOS-Befehl "mehr" hat, dass a +n-option wird die Ausgabe der Datei nach der N-TEN Zeile:
DOS-Eingabeaufforderung ein:
Der obige Befehl wird die Ausgabe alles, was nach den ersten 2 Zeilen.
Dies ist tatsächlich die inverse von Unix Kopf:
Unix-Konsole:
Den oben genannten Befehl drucken nur die ersten 2 Zeilen der Datei.
InformationsquelleAutor der Antwort Matthew Nizol
WENN Sie haben Windows PowerShell installiert (ich denke es ist enthalten seit XP) kann man einfach laufen aus cmd.exe:
Kopf Befehl:
Tail-Befehl:
oder, direkt aus der PowerShell:
update
PowerShell 3.0 (Windows 8 und höher) Hinzugefügt
Tail
Befehl mit aliasLast
.Head
undFirst
AliaseTotalCount
wurden ebenfalls Hinzugefügt.So, Befehle neu geschrieben werden kann als
InformationsquelleAutor der Antwort Amit Portnoy
wobei n = die Anzahl der Zeilen an, die angezeigt wird. Arbeitet schnell und ist genau wie
head
Befehl.InformationsquelleAutor der Antwort Dan
Konnte man CoreUtils von GnuWin32die eine Sammlung von standard unix-tools auf Windows portiert.
Es, unter anderem, enthält Kopf.
InformationsquelleAutor der Antwort Sebastian Paaske Tørholm
Dies ist ein total-hack-aber wenn es eine große Datei, die Sie wollen, nur um das format, header, etc. und Sie suchen eine Lösung, man kann nur immer umleiten 'mehr' Ausgabe in eine neue Datei und STRG-C schnell. Die Ausgabe von Zeilen kann nicht präzise gesteuert werden, und Sie werden wahrscheinlich zu töten, es in der Mitte einer Zeile von der Ausgabe, aber es ist eine billige Art, greifen ein kleines bisschen, sonst unbrauchbar Datei.
Ex.
InformationsquelleAutor der Antwort user2041301
Wenn Sie mehr +n, dass Matt bereits erwähnt, zu vermeiden, hält in langen-Dateien, versuchen Sie dies:
mehr +1 myfile.txt > con
Wenn Sie leiten Sie die Ausgabe aus, spielt es keine pause - und hier leiten Sie an die Konsole. Umgekehrt können Sie umleiten zu einigen anderen Datei wie diese w/o-die "Pausen" mehr, wenn das ist Ihre gewünschte Ergebnis. Verwenden Sie " > redirect auf die Datei und überschreiben Sie ihn, wenn es bereits vorhanden ist, oder >> um an eine vorhandene Datei Anhängen. (Kann entweder die Umleitung zu con.)
InformationsquelleAutor der Antwort Anon
Gut, das wird tun es, aber es ist in etwa so schnell, wie es aussieht (etwa O(n*m), wobei n die Anzahl der anzuzeigenden Zeilen und m die Anzahl der Zeilen in der Datei):
Wobei "10" die Anzahl der Zeilen, die Sie drucken möchten, und "Dateiname" ist der name der Datei.
InformationsquelleAutor der Antwort brianary
können Sie auch Git bashwo Kopf und Schwanz emuliert werden sowie
InformationsquelleAutor der Antwort brigasnuncamais
Get-content -Tail n file.txt
mit powershell ist die einzige Sache, die kommt in der Nähetail
in linux.Den
Get-Content *filename* | Select-Object -last *n*
oben vorgeschlagen Lasten/parse die ganze Sache. Unnötig zu sagen, es war nicht glücklich mit meinem 10GB log-Datei... Die-Tail
option wird bis zum Ende der Datei.InformationsquelleAutor der Antwort Sebas
Powershell:
InformationsquelleAutor der Antwort Manuel Alves
Wenn Sie möchten, dass die Kopf-Befehl, eine einfache Möglichkeit, um es zu bekommen ist die Installation von Cygwin. Dann haben Sie alle UNIX-tools zur Verfügung.
Wenn das nicht eine gute Lösung, dann können Sie versuchen, mit findstr und eine Suche für die end-of-line-Anzeige.
findstr auf der MSDN-Website: http://technet.microsoft.com/en-us/library/bb490907.aspx
InformationsquelleAutor der Antwort Zian Choy
Gibt es ein resource-kit kann hier heruntergeladen werden: http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displayLang=en
Enthält es eine tail.exe Werkzeug, aber es ist nur kompatibel mit manchen Windows-Versionen
(Kopiert aus diesem Beitrag: Tail-Befehl für windows)
InformationsquelleAutor der Antwort rasputino
FWIW, für diejenigen, die einfach nur brauchen, to snip off eine unbestimmte Anzahl von Datensätzen aus den Kopf der Datei, mehr > gut funktioniert. Dies ist nützlich, nur um eine kleinere Datei zu arbeiten, mit in den frühen Phasen der Entwicklung etwas.
InformationsquelleAutor der Antwort user382459
Habe ich nicht versucht, extrahieren einer Reihe, aber ich war in der Lage, eine Leitung mit den folgenden DOS-Befehl ein:
Da die meisten Dateien keine Leerzeichen enthalten, ist dieser Befehl zieht jede Zeile aus alle LOG-Dateien und im Grunde zahlen Sie ab 1 für jede Datei. Die nummerierten Ergebnisse werden dann an die in der zweiten
FIND
Befehl, die sucht nach der Zeile markiert als Nummer 6.InformationsquelleAutor der Antwort sergioPinheiro
Hier ist eine schnelle native Kopf-Befehl, der gibt Ihnen die ersten 9 Zeilen in DOS.
Den ersten 2 Zeichen jeder Zeile wird die Nummer der Zeile.
InformationsquelleAutor der Antwort Don4x
Gibt es einen kostenlosen
head
- Dienstprogramm auf auf dieser Seitedie Sie verwenden können. Ich habe es nicht ausprobiert.InformationsquelleAutor der Antwort JeffH
wird es wieder die erste Zeile Ihrer Datei im cmd-Fenster in der Variablen %Zeile%.
InformationsquelleAutor der Antwort Sergey Orlov
Ich glaube nicht, dass es ist Weg, out of the box. Es gibt keinen solchen Befehl in DOS-und batch-Dateien sind viel zu beschränkt, um zu simulieren (ohne große Schmerzen).
InformationsquelleAutor der Antwort EricSchaefer
Warnung, mit der batch-Datei, tokens und delims Fähigkeit, auf unbekannte Texteingabe kann eine Katastrophe durch die Besondere interpretation von Zeichen wie &, !, <, etc. Solche Methoden sollte reserviert werden für nur berechenbarer text.
InformationsquelleAutor der Antwort Batch Warning