hiver Geschrieben 13. Januar 2005 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
alligator Geschrieben 13. Januar 2005 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
hiver Geschrieben 17. Januar 2005 Autor 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
alligator Geschrieben 17. Januar 2005 Geschrieben 17. Januar 2005 Hallo, sorry ich hab nicht verstanden was du willst. Am besten ein Beispiel machen. cya alligator
hiver Geschrieben 18. Januar 2005 Autor 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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden