Ich möchte ein Shell-Skript schreiben, um den Inhalt mehrerer Dateien in einem bestimmten Verzeichnis zusammenzuführen.
DIR1 contains sample1.txt sample2.txt
sample1.txt contents :---this is sample1 file---
sample2.txt contents :---this is sample2 file---
DIR2 contains demo1.txt demo2.txt
demo1.txt contents :---this is demo1 file---
Ich habe die Lösung ausprobiert:
(find /home/DIR1 /home/DIR2 -type f | xargs -i cat {} ) > /result/final.txt
Ich habe auch die Ausgabe erhalten, aber die Reihenfolge der Dateien hat sich geändert.
this is sample2 file--- this is sample1 file--- this is demo1 file---
Ich brauche die Ausgabe jeder Datei in einer anderen Zeile. Wie macht man das? Gibt es eine Möglichkeit, die Ausgabereihenfolge von Dateien beizubehalten, wie z. B., wenn die Ausgabe einer bestimmten Datei oben platziert werden soll? und was nützt die " xargs -i "
option in der cmd?
Vielen Dank.
shell-script
cat
Nutzer
quelle
quelle
Antworten:
Sie können dies verwenden:
Sucht nach allen Dateien im Verzeichnis und fügt den gesamten Inhalt in GESAMT ein.
quelle
Sie müssen direkt in dieses Verzeichnis gehen:
quelle