Mit cat
Ausgabeumleitung verwenden. Syntax: cat file [file] [[file] ...] > joined-file
.
Beispiel mit nur zwei Dateien (Sie können viel mehr haben):
$ echo "some text in a file" > file1
$ echo "another file with some text" > file2
$ cat file1 file2 > mergedfiles
$ cat mergedfiles
some text in a file
another file with some text
Wenn Sie "viele Dokumente" haben, verwenden Sie Shell Globbing (Muster):
cat input-files-dir/* > joined-file
Dadurch werden alle Dateien in diesem Verzeichnis mit dem aktuellen Verzeichnis verknüpft (wodurch verhindert wird, dass sie mit der Ausgabedatei selbst übereinstimmen). Es ist völlig unabhängig von der Verwendung cat
und Ausgabeumleitung - es ist nur Bash, das alle Dateien als Argumente für bereitstellt cat
.
Datentypen
Es werden nur Dateien zusammengeklebt (verbunden), wie Sie es mit Papier und Klebeband tun würden. Es ist ihm egal, ob das tatsächliche Dateiformat dies verarbeiten kann. Es wird für Textdateien funktionieren, aber nicht für PDFs, ODTs usw. Nun, es wird sie zusammenkleben, aber es ist kein gültiges PDF / ODT mehr.
Reihenfolge des Beitritts
Wie Phoibos betonte, führt das Verschieben der Shell zu einer alphabetischen Reihenfolge der Dateinamen. So funktioniert Bash and Shell Globbing.
Nachtrag zum input file is output file
Fehler
Wenn das Muster der Eingabedateien mit der gleichen Datei übereinstimmt, die ausgegeben wird, wird ein Fehler verursacht. Es ist ein Sicherheitsmerkmal. Beispiel: Beim cat *.txt > out.txt
zweiten Start wird dies verursacht.
Was Sie dagegen tun können:
- Wählen Sie ein spezifischeres Muster, das mit den tatsächlichen Eingabedateien übereinstimmt und nicht mit dem Ausgabenamen übereinstimmt. Beispiel: Das Muster der Eingabedateien
*.txt
mit der Ausgabedatei output.out
kollidiert nicht.
- Arbeite in verschiedenen Verzeichnissen. Im obigen Beispiel habe ich ein separates
input-files-dir
Verzeichnis verwendet, um alle Dateien in dem aktuellen Arbeitsverzeichnis abzulegen und auszugeben. Dies macht es unmöglich, diesen Fehler zu erhalten.
ls
nur die Übereinstimmungen auflisten. ZB umls *.txt
zu sehen, was passt.