Extrahiere N Zeilen aus der Datei mit dem Befehl single windows

7

Gibt es eine Möglichkeit, die erste X-Anzahl von Zeilen aus einer Datei zu extrahieren / zu kopieren und sie mit der Befehlseingabe in Windows in eine andere Datei mit einem einzigen Befehl einzugeben?

Ich kann die erste X Anzahl von Zeilen löschen mit:
mehr + X [file_containing data] & gt; [file_to_export_data_to]

Wenn der Befehl head funktionieren würde, denke ich, ich könnte das einfach machen:
head -X [Datei_Haltdaten] & gt; [file_to_export_data_to]

Aber das funktioniert leider nicht.

Es wäre großartig, wenn Windows einen "weniger" Befehl hätte, aber wieder kein Glück.

Ich bin ein absoluter Neuling, wenn es um dieses Zeug geht, also bin ich mir sicher, dass ich etwas Offensichtliches vermisse. Ich möchte nichts installieren oder etwas anderes als die Eingabeaufforderung verwenden.

Danke

    
user1769292 13.01.2015, 22:32
quelle

6 Antworten

13

Sie können PowerShell über die cmd.exe-Konsole verwenden:

%Vor%

Sie können ein DOSKEY-Makro erstellen, um die Verwendung in der Befehlszeile zu vereinfachen:

%Vor%

Verwendung:

%Vor%

Sie können jedoch kein DOSKEY-Makro innerhalb eines Batch-Skripts verwenden.

Sie könnten stattdessen ein head.bat-Skript erstellen und es in einen Ordner einfügen, der in Ihrem PFAD enthalten ist:

head.bat

%Vor%

In der Befehlszeile würden Sie head input.txt 10 >output.txt

verwenden

In einem Batch-Skript würden Sie call head input.txt 10 >output.txt

verwenden

Ich habe die Ausgabedatei nicht als Parameter ausgewählt, wenn Sie das Ergebnis einfach auf dem Bildschirm anzeigen möchten, anstatt in eine Datei zu schreiben.

    
dbenham 14.01.2015 16:12
quelle
9

Die einfachste Lösung mit einem Befehl ist Powershell Get-Content.

N - Anzahl der Zeilen.

Am Anfang der Datei:

%Vor%

Vom Ende der Datei:

%Vor%     
Janusz 25.04.2016 09:12
quelle
2
%Vor%

würde die ersten 7 Zeilen von standardwaffle.txt nach u:\junk.txt extrahieren, also hier ist es in einer cmd -Zeile - aber ich würde es wagen, das zuverlässig einzugeben.

Es würde auch alle führenden : in einer Quellzeile entfernen.

%Vor%

Dieser Stapel, der als head.bat gespeichert wurde und an einer beliebigen Stelle auf Ihrem Pfad abgelegt wurde, ermöglicht die Verwendung von

%Vor%

, um die ersten n -Zeilen von standardwaffle.txt nach junk.txt

zu extrahieren

Das - wäre optional

aber Dies beinhaltet die Installation des Stapels auf Ihrem Computer. Ist das durch Ihre "no installing" -Anforderung verboten, oder ist "installing" nur für Drittanbieter-Dienstprogramme gedacht?

    
Magoo 14.01.2015 04:25
quelle
1
%Vor%

Dies druckt Zeilen 1 bis 5. Um

zu verwenden %Vor%     
Serenity 14.01.2015 04:14
quelle
1

Um die korrekte utf8-Ausgabe zu erhalten, machen Sie folgendes in der Powershell

%Vor%

Dadurch werden die ersten 10000 Zeilen der Datei input.txt (Datei im Format utf8) mit korrekter Codierung in output.txt geschrieben.

    
sdk 06.09.2016 12:04
quelle
0

Sie können dies verwenden:

%Vor%

Ersetzen Sie das X durch die gewünschten Zeilen. Oder nennen Sie head.bat :

%Vor%     
npocmaka 21.09.2016 19:10
quelle

Tags und Links