Pokergin Geschrieben 30. April 2009 Geschrieben 30. April 2009 Weis jemand zufällig ob es eine Begrenzung für die maximale Länge einer Anweisung in SED (Stream Editor) gibt ? Wenn meine Anweisung 222 Zeichen lang ist funktioniert sie Tadellos. Verlänger ich aber Pfad oder Dateinamen so dass sie insgesamt 224 Zeichen hat steht folgende Meldung dort: "Das angegebene Programm kann nicht ausgeführt werden"
bigvic Geschrieben 30. April 2009 Geschrieben 30. April 2009 (bearbeitet) Hast du mal den Quelltext? LIMITS sed allows a limit of 40 kilobytes per line. It does not allow the NUL character. The maximum length of a global command is 256 characters, including newlines. Hier ein Link oder hier. Bearbeitet 30. April 2009 von bigvic
Pokergin Geschrieben 30. April 2009 Autor Geschrieben 30. April 2009 es ist eine Reihe von Batchdateien die ich nacheinander ausführe. test0.bat: --- C: dir /s /b "C:\isb_abgleichen\beispiel\version2\*.db.xml" > xml_dateien1.txt FOR /f %%f IN (xml_dateien1.txt) DO echo sed -e "s/.*<password>.*<\/password>/<password>??????<\/password>/g" %%f ^>^> %%f1>> "C:\isb_abgleichen\beispiel\version2\test1.bat" --- test1.bat (wird durch test0.bat gefüllt): --- sed -e "s/.*<password>.*<\/password>/<password>??????<\/password>/g" C:\isb_abgleichen\beispiel\version2\helmut.db.xml >> C:\isb_abgleichen\beispiel\version2\helmut.db.xml1 sed -e "s/.*<password>.*<\/password>/<password>??????<\/password>/g" C:\isb_abgleichen\beispiel\version2\hugo.db.xml >> C:\isb_abgleichen\beispiel\version2\hugo.db.xml1 sed -e "s/.*<password>.*<\/password>/<password>??????<\/password>/g" C:\isb_abgleichen\beispiel\version2\olaf.db.xml >> C:\isb_abgleichen\beispiel\version2\olaf.db.xml1 sed -e "s/.*<password>.*<\/password>/<password>??????<\/password>/g" C:\isb_abgleichen\beispiel\version2\dor\t\herbert.db.xml >> C:\isb_abgleichen\beispiel\version2\dor\t\herbert.db.xml1 sed -e "s/.*<password>.*<\/password>/<password>??????<\/password>/g" C:\isb_abgleichen\beispiel\version2\hier\karl.db.xml >> C:\isb_abgleichen\beispiel\version2\hier\karl.db.xml1 --- Den SED befehl von herbert meckert er dann an !
bigvic Geschrieben 30. April 2009 Geschrieben 30. April 2009 sed -e "s/.*<password>.*<\/password>/<password>??????<\/password>/g" C:\isb_abgleichen\beispiel\version2\dor\t\herbert. db.xml >> C:\isb_abgleichen\beispiel\version2\dor\t\herbert. db.xml1 Sind die Leerzeichen beim kopieren entstanden oder ist das tatsächlich so?
Pokergin Geschrieben 30. April 2009 Autor Geschrieben 30. April 2009 mhm stimmt is mir bisher gar nich aufgefallen. Danke für den Tipp werd ich nächste Woche mal prüfen warum sich da Leerzeichen einschleichen.
Pokergin Geschrieben 4. Mai 2009 Autor Geschrieben 4. Mai 2009 Sind die Leerzeichen beim kopieren entstanden oder ist das tatsächlich so? also die Leerzeichen sind doch beim Kopieren entstanden zumindets hab ich jetzt keine mehr das Problem besteht aber dennoch weiterhin.
Pokergin Geschrieben 11. Mai 2009 Autor Geschrieben 11. Mai 2009 Mal kurz in die Runde gefragt kennt sich jemand mit dem Tool : "Swiss file knife" kurz sfk aus ? wenn ja bitte mal hier reinschreiben. Hätte da mal ne Frage...
bigvic Geschrieben 11. Mai 2009 Geschrieben 11. Mai 2009 Wieso schreibst du nicht einfach dein Anliegen (ggf. in einem neuen Thread mit entsprechendem Titel)? Du hast ja auch in diesem Thread nicht erst gefragt, ob sich jemand mit sed auskennt und auf ein "ja" gewartet, bis du deine Frage stellst?!
bigvic Geschrieben 11. Mai 2009 Geschrieben 11. Mai 2009 (bearbeitet) Hast du Perl auf dem Rechner installiert? Wenn ja, dann hier - ausnahmsweise - ein Quickhack der funktionieren sollte. (Auf Windows musst mit den Pfaden aufpassen bzw. diese anpassen) #!/usr/bin/perl -w $path="/tmp"; foreach my $filename (glob("${path}/*.xml")) { print $filename."\n"; open(LESEN,"$filename") or die "Fehler beim LESEN: $!\n"; open(SCHREIBEN,">${filename}.neu") or die "Fehler beim SCHREIBEN: $!\n"; while(defined(my $line =<LESEN>)) { $line =~ s#<password>.*?</password>#<password>?????</password>#g; print SCHREIBEN $line; } close(LESEN); close(SCHREIBEN); } Bearbeitet 11. Mai 2009 von bigvic
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