hiver Geschrieben 13. Januar 2005 Teilen Geschrieben 13. Januar 2005 Hallo, ich sitz hier grad vor nen Riesenproblem. Unzwar hab ich hier etwa 400 Textdateien, und in diesen Dateien muß ich eine Zeile einfügen und eine Zahlenkombination (die in den Dateien unterschiedlich ist) erstzen durch eine bestimmte, und das natürlich bis vorgestern. Da ich die ganzen Dateien nich einzeln bearbeiten möchte hab ich mir gedacht schreib ich nen kleines Script, das diese Aufgabe für mich erledigt, is ja auch scneller. Da meine Kenntnisse in Shell- Programmierung aber sogut wie nich existent sind, begab ich mich auf die Suche anch nen Howto. Hab allerdings nix brauchbares gefunden (oder ich bin einfach zu blöd dafür). Meine Frage is nu mit welchen Howtos ihrs gelernt hab oder welche Seiten ihr empfehlen könnt. Achso die man-pages wollt ich mir angucken, nur kann ich hier irgendwie grad keine einzige man-page öffnen. :confused: Grüße Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
alligator Geschrieben 13. Januar 2005 Teilen Geschrieben 13. Januar 2005 hallo, einfügen der letzten Zeile geht so: echo "letzte zeile" >> Datei Ansonsten nimmst den sed: http://www.tty1.net/sed-tutorium/html/ http://www.hmug.org/man/1/sed.html oder awk: http://www.64-bit.de/dokumentationen/progr-software/a/005/awk.html http://www.mcsr.olemiss.edu/cgi-bin/man-cgi?awk cya alligator Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hiver Geschrieben 17. Januar 2005 Autor Teilen Geschrieben 17. Januar 2005 OK danke schonma. Habs jetzt so halbwegs hingekriegt. Haupscript: #!/bin/sh files=`ls /Verzeichnispfad/` for file in $files do sed -f sedscr /Verzeichnispfad/$file >> $file echo $file' Einzufügende Text' >> $file done sedscr: s/.*\; serial*/ 2005011701\ ;serial/ Soweit sogut. Jetzt meine Frage die Dateien heißen alle *.*.end und in die Zeile die ich einfügen will muß ganz am Zeilenamfang *.* stehen. Also hab ich mir gedacht ich nehm den Dateinamen -das .end. Aber wie krieg ich das hin das er das .end nicht mit ausgibt, oder ich alle Dateien umbenenne in den Nmaen ohne .end ?? Grüße Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
alligator Geschrieben 17. Januar 2005 Teilen Geschrieben 17. Januar 2005 Hallo, sorry ich hab nicht verstanden was du willst. Am besten ein Beispiel machen. cya alligator Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hiver Geschrieben 18. Januar 2005 Autor Teilen Geschrieben 18. Januar 2005 Danke habs schon hingekriegt (mit awk). #!/bin/sh files=`ls /pfad/` for file in $files do sed -f sedscr /pfad/$file >> $file echo `ls $file |awk -F . '{print mv $1 "."end $2}'`' einzufügender Text' >> $file done Grüße Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.