• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

suchen und ersetzen - in mehreren dokumenten?

Mitglied seit
19.09.2001
Beiträge
2.379
Reaktionen
17
also, muss hier in sehr vielen dokumenten immer dieselbe änderung vornehmen. d.h. die dokumente sind in den abschnitten, die ich verändern bzw. ergänzen muss immer gleich, ansonsten unterscheiden sie sich natürlich.

gibt es dafür irgendein tool, das sind nämlich ziemlich viele (text)dokumente =(

edit: ach bitte sorry kann das bitte ins technikforum verschoben werden, weil sich da mehr mit auskennen. da sollte es eigentlich auch hin
 

Clawg

Guest
Da gibt's ne ganze Reihe von moeglichen Programmen.
Schwierigkeitsgrad haengt von der Komplexitaet ab. Einfach ein Wort / eine Wortkette durch eine andere zu ersetzen sollte mit einem einfachen Einzeiler erledigt sein.

z.B. 'awk' macht das recht fein. Du hast Linux?

Unter Windows soll es TextPad auch koennen, aber nicht getestet.
http://www.textpad.com
 
Mitglied seit
19.09.2001
Beiträge
2.379
Reaktionen
17
hm ok ich teste das mal.

ja die änderung ist so, dass es bei jedem dokument an der gleichen stelle anfängt und aufhört, wo etwas gelöscht und ersetzt werden muss. jedesmal dasselbe.

also anfang/ende gleich -> löschen -> anstelle des gelöschten etwas einfügen
 
Mitglied seit
09.11.2002
Beiträge
880
Reaktionen
0
nedit kann das, gibts imho auch unter Windows. Die zu bearbeitenden Dateien öffnen, also per Tabs alle in einer nedit-Session öffnen und dann im Suchen/Ersetzen Dialog "mehrere Datein" auswählen.
 
Mitglied seit
10.08.2000
Beiträge
12.908
Reaktionen
1
extrem einfach geht das mit nem shell script + awk (notfalls von ner knoppix boot cd falls du kein linux hast)

bsp für nen awk script:

Code:
#!/bin/sh
awk '{ for(i=1;i<=NF;i++) {printf("0 ")}; print " " }' test.001.dat > temp1

for d in test.*.dat; do
    paste temp1 $d |
    awk '{for(i=1;i<=NF/2;i++) {printf("%u ",$i+$(i+NF/2))}; print " "}' > temp2
    mv temp2 temp1
done

mv temp1 result.dat

angenommen in test.*.dat steht jeweils ne matrix aus zahlen so würde dieses skript alle aufsummieren

awk is ne richtig tolle sache, damit kannst du dann auch in der textdatei quasi ohne aufwand ne zeile ändern (code ähnlich wie bei c++ aber man kriegt halt das komplette dateihandling geschenkt)
ein shell script drumherum macht es dann auf viele dateien anwendbar

wenn du mir genau sagst was du in den dateien ändern willst würd ich dir auch den nötigen shell/awk code dafür schreiben ;) (falls du z.B. keinen plan von c(pp) hast)
 
Mitglied seit
15.05.2003
Beiträge
11.307
Reaktionen
8
Ort
Fortuna 1895 Düsseldorf
jo mit awk geht sowas ganz easy. awk ist eine heute leider oft vergessene skriptsprache, die in 45 seiten erklärt ist. falls da interesse besteht, ich hab da ein ebook mit recht umfangreichen erklärungen zu, pm wer will. €: ist allerdings in englischer sprache!

alternativ - und kenntnisse vorrausgesetzt - könnte man das ganze auch in perl machen. sollte ähnlich wenig aufwand sein.


€€:Ich hab mich nochmal bemüht etwas in deutscher sprache zu finden:

http://www.ostc.de/awk.pdf
 
Mitglied seit
19.09.2001
Beiträge
2.379
Reaktionen
17
oh thx für die vorschläge, also das problem ist, dass der die zu bearbeitende zeichenfolge im textpad nicht findet.

hat textpad probleme mit solch langen zeichenfolgen? das mit awk hört sich gut an, mit c komm ich eigentlich klar, müsste das dann einmal angehen.
 
Oben