Notepad++ Die ersten X Zeichen in jeder Zeile auswählen und in anderem Dokument ersetzen
Hallo,
Folgendes: Ich habe eine Liste in der jeweils drei Strings in jeder Zeile stehen. Diese sind durch einen Doppelpunkt getrennt, also "string a: string b: string c". String a und string b sind immer gleich lang. Nun möchte ich jeweils String a und b in diesem Dokument in jeder Zeile auswählen und in einem anderen Dokument nach diesen Strings suchen und sie gezählt durch String c ersetzen.
Gibt es da eine Möglichkeit mit Notepad++? Oder eine Batch-Datei bzw. ein Script was da Abhilfe schaffen kann?
Vielen Dank im Vorraus!
1 Antwort
mit Script-Programmen kann man das alles bewerkstelligen. Ich löse so etwas und vieles mehr mit tclsh. Diese Shell ist praktisch für alle Betriebssysteme (kostenlos) verfügbar.
Hier nur ein Teil so eines Programms: ...
set fp_neu [open "DateiNeu" w ]
set fp1 [ open "Datei1" r ]
while { ![eof $fp1 ] } { set line [gets $fp1 ] ;# Zeile lesen
set list [ spilt $line : ] ;# Zeile an Doppelpunkten teilen
set stringA [lindex $list 0 ] ;# String a in Variable laden.
set stringB [lindex $list 1 ] ; # String b in Variable laden
set stringC [lindex $list 2 ] ;# String c in Variable laden
set fp2 [open "Datei2" r ]
while { ![eof $fp2 ] } { set line2 [gets $fp2 ]
set list2 [ split $line ]
set laenge [llength $list2 ]
set i 0
while { $i < $laenge} { if { [lindex $list2 $i ] == $stringA || [lindex $list2 $i == $struingB } { puts -nonewline $fp_neu "$stringC " } else { puts -nonewline $fp_neu "[lindex $list2 $i] " }
incr i }
puts $fp_new ""
}
}
close $fp_neu
close $fp1
close $fp2