Ich versuche, alle Dateien in einem Unterverzeichnis zu einer neuen Datei zu kombinieren und der neuen kombinierten Datei den gleichen Namen wie dem Unterverzeichnis zu geben. Ich habe keine Ahnung, wie dies in Bash geschehen soll. Hier ist, wie ich es angegangen bin: Ich habe eine Reihe von Verzeichnissen, jedes mit einem eindeutigen Dateinamen (mit Leerzeichen!). In jedem dieser Verzeichnisse gibt es eine Reihe von Dateien mit numerischen Namen, wie zum Beispiel:
Home/Unique name/1.pdf
Home/Unique name/2.pdf
Home/Unique name/3.pdf
Home/Unique name/4.pdf
....
Home/Other Unique name/1.pdf
Home/Other Unique name/2.pdf
Home/Other Unique name/3.pdf
Home/Other Unique name/4.pdf
Was ich tun möchte, ist ein Bash-Skript (aus dem HomeVerzeichnis) zu schreiben :
- Gehen Sie in jedes eindeutige Verzeichnis und führen Sie einen Befehl für jede der Dateien in diesem Verzeichnis aus (in meinem Fall kopieren Sie sie alle in ein anderes Verzeichnis).
- Ich habe dann ein anderes Skript geschrieben
script.sh, das einen anderen Befehl ausführt (in diesem Fall kombinieren Sie alle PDFs in einer einzigen Dateitemp.pdf). Ich möchte dann diesetemp.pdfDatei nach dem Verzeichnis umbenennenUnique name.pdf(mit Leerzeichen). - Ich muss diesen Prozess für eine Reihe von Unterverzeichnissen folgen.
Ich habe versucht, eine Lösung mit einer Reihe von for-Schleifen, while-Schleifen und dem Befehl find zu finden, aber ich bin mit bash nicht vertraut genug, um komfortabel zu debuggen oder diese Variablen mit einem gewissen Maß an Sicherheit zu verwenden. Ich bin mir auch sicher, dass es eine effizientere Möglichkeit gibt, das zu tun, was ich tue, aber ich habe das Skript über einen bestimmten Zeitraum hinweg zusammengebastelt.
catin der richtigen Reihenfolge anzeigen und die Ergebnisse catin eine neue Datei umleiten.