2012-06-10 07:22:07 +0000 2012-06-10 07:22:07 +0000
224
224

Was ist das Windows-Äquivalent zum Unix-Befehl cat?

Ich möchte genau das tun, was unix “cat” tut, aber auf meinem PC. Gibt es einen einfachen äquivalenten Befehl für die Windows-Befehlszeile?

Insbesondere möchte ich eine Datei aus allen Dateien eines bestimmten Typs in einem Ordner

Unter Unix:

cat *fna >all_fna_files.fna

(die alle “.fna”-Textdateien zu einer großen Textdatei zusammenfügt)

Antworten (3)

280
280
280
2012-06-10 07:47:35 +0000

type

Es funktioniert über command.com, cmd und PowerShell (obwohl es in letzterer ein Alias für Get-Content ist, so ist es auch cat, also können Sie beides verwenden). Aus dem Wikipedia-Artikel (Hervorhebung von mir):

In der Informatik ist Typ ein Befehl in verschiedenen VMS. AmigaDOS, CP/M, DOS, OS/2 und Microsoft Windows Kommandozeilen-Interpreter (Shells) wie COMMAND.COM, cmd.exe, 4DOS/4NT und Windows PowerShell. Sie wird verwendet, um den Inhalt der angegebenen Dateien anzuzeigen. Es ist analog zum Unix-Kat-Befehl.

C:\>echo hi > a.txt
C:\>echo bye > b.txt
C:\>type a.txt b.txt > c.txt
C:\>type c.txt
hi
bye
22
22
22
2012-06-10 07:33:20 +0000

Von der Befehlsshell:

copy a.txt + b.txt + c.txt output.txt

(Aber das folgt auf die Verwendung von Control-Z als Dateiende-Markierung in der Befehlsshell, also in manchen Fällen nicht geeignet).

In PowerShell:

get-content a.txt,b.txt,c.txt | out-file output.txt

und Sie können (mit dem Parameter -Encoding) die Dateikodierung steuern (was die Transkodierung durch Verwendung unterschiedlicher Kodierungen für das Lesen und Schreiben ermöglicht).

1
1
1
2015-03-20 13:41:46 +0000

Ich habe gerade den Befehl cat in DOS (Windows 7 Pro) auf folgende Weise verwendet und erfolgreich 3 Dateien (log1.txt, log2.txt, log3.txt) zu einer einzigen Datei zusammengeführt:

cat log*.txt >> myBigLogFile.txt

Hinweis: cat log*.txt > myBigLogFile2.txt liefert ebenfalls das gleiche Ergebnis, aber es überschreibt die vorherige Datei.