Mit catAusgabeumleitung 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 catund 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 fileFehler
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.txtzweiten 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
*.txtmit der Ausgabedatei output.outkollidiert nicht.
- Arbeite in verschiedenen Verzeichnissen. Im obigen Beispiel habe ich ein separates
input-files-dirVerzeichnis verwendet, um alle Dateien in dem aktuellen Arbeitsverzeichnis abzulegen und auszugeben. Dies macht es unmöglich, diesen Fehler zu erhalten.
lsnur die Übereinstimmungen auflisten. ZB umls *.txtzu sehen, was passt.