Folgendes sei gegeben: Auf einem Netzlaufwerk liegen verschiedene Software-Releases ab. Jeder Release liegt in einem eigenen Unterverzeichnis, das jeweils die Versionsnummer als Namen hat. Beispiel: S:\SW-Releases\Release_001 S:\SW-Releases\Release_002 S:\SW-Releases\Release_003 usw. Nun liegt in jedem einzelnen dieser Verzeichnisse auch eine kleine Textdatei "readme.txt". Diese enthält Informationen über die Änderungen in dem jeweiligen Release. Die Aufgabe ist nun: Wie kann man ein Skript erstellen, das über die verschiedenen Unterverzeichnisse iteriert, den Inhalt der einzelnen Textdateien zusammenfasst, und als Ausgabe eine einzelne große Textdatei generiert? In einem nächsten Schritt würde ich dann diese einzelne große Textdatei gerne in andere Formate konvertieren. Zum Beispiel: Rich Text .rtf Word .doc, .docx Excel .xls, .xlsx Was für Möglichkeiten gibt es da?
1. Schritt: find . -name 'readme.txt' -exec cat {} >> gesamt_readme.txt
Frank schrieb: > find . -name 'readme.txt' -exec cat {} >> gesamt_readme.txt Semikolon vergessen: find . -name 'readme.txt' -exec cat {} \; >> gesamt_readme.txt
for i in Releases_[0-9][0-9][0-9]/readme.txt ; do cat $i >> complete.txt ; done oder for i in `find readme.txt` ; do ... Benötigt aber die bash o.ä., kriegt man mit cygwin o.ä. Konvertieren: kommt aufs Format an...
Frank schrieb: > find . -name 'readme.txt' -exec cat {} \; >> gesamt_readme.txt Semikolon an der falschen Stelle :-( find . -name 'readme.txt' -exec cat {} >> gesamt_readme.txt \;
convertieren (angeblich) mit: soffice -headless -convert-to {hier das zielformat) YOUR-DOCUMENT-HERE.txt
nicht nur angeblich: soffice --headless -convert-to doc gesamt_readme.txt funktioniert zumindest unter Linux ohne Probleme Jörg
CC schrieb: > for i in Releases_[0-9][0-9][0-9]/readme.txt ; do cat $i >> complete.txt > ; done > > oder for i in `find readme.txt` ; do ... > > Benötigt aber die bash o.ä., kriegt man mit cygwin o.ä. MinGW hab ich hier. Funktioniert das denn auch mit den Windows Netzlaufwerk-Buchstaben?
Ach geh. Dateien suchen & zusamenfassen ging doch schon unter DOS... Statt "find" halt "DIR /S", statt "cat" halt "TYPE" usw. Und mit der MS-Powershell vermutlich noch viel, viel einfacher. Nur weil dir hier alle erzählen, wie einfach das gewünschte doch unter Linux wär, bedeutet das nicht, dass der einfachste Weg unter Windows über eine Unix-Emulation führt..
:
Bearbeitet durch User
Von mir aus auch eine Windows .bat Datei oder wie das heutzutage neumodisch heißt. ;-) Hauptsache ich kann über die Netzlaufwerk-Verzeichnisse iterieren. Das krieg ich nämlich bisher nicht hin.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.