![]() |
Suchen und Ersetzen als Skript (mehrfach)
Hallo Community,
kennt jemand eine Möglichkeit, ein Tool oder sonst was, mit dem man ein Skript für das mehrfache Suchen und Ersetzen erstellen kann? Also ich möchte (in meinem Fall nur mit einer Datei, besser natürlich in mehreren Dateien) in einer Datei viele Ersetzungen mit einem Aufruf automatisch durchführen lassen. Im speziellen ist ein 10.000 Zeilen große fremde Unit, in der Typen(Namen) genutzt werden die ich selber auch schon nutze. Wenn nun zu dieser Unit Updates kommen, möchte ich den Vorgang schnell wiederholen können. Nein, meine Namen sollen nicht geändert werden. Ein entsprechendes command line tool würde auch funktionieren. Dann lege ich mit eine Batchdatei an. Danke |
AW: Suchen und Ersetzen als Skript (mehrfach)
Kennt jemand dies:
![]() |
AW: Suchen und Ersetzen als Skript (mehrfach)
![]() selbst noch nicht genutzt. Aber die Beispiele hören sich vielversprechend an: ... Vorhandenen AnyDAC-Anwendungen nach FireDAC: Migrieren von AnyDAC-Anwendungen nach FireDAC. Vorhandenen BDE-Anwendungen nach FireDAC: Migrieren von BDE-Anwendungen nach FireDAC. Vorhandenen dbExpress-Anwendungen nach FireDAC: Migrieren von dbExpress-Anwendungen nach FireDAC. ... |
AW: Suchen und Ersetzen als Skript (mehrfach)
Natürlich SED - der Stream-EDitor - eigentlich ein klassisches *nix-Tool, gibts aber auch für Windows. SED beherrscht suchen und ersetzen von regulären ausdrücken - und eine Menge mehr.
![]() Alternativ wäre auch ![]() Aber nur zur Strategie - wäre es nicht sinnvoller, einmal die eigenen Typ-Namen zu ändern? Dann macht man das 1x - nicht bei jedem Update erneut. Grüße Daniel |
AW: Suchen und Ersetzen als Skript (mehrfach)
Danke schon mal.
Scheint ja doch einfacher als gedacht zu sein. Ich werde mir das von Embarcadero mal ansehen, aber das "fnr.exe" scheint super zu sein. Einzelne exe, 264 kB groß, Suchmuster über Fenster eingeben, cmd-code generieren lassen und mehrfach in Batchdatei einsetzen. :thumb: Zitat:
|
AW: Suchen und Ersetzen als Skript (mehrfach)
So etwas ähnliches habe ich jetzt auch. Ich habe eine Liste von Texten (ca. 5000) und möchte nachschauen ob dieser Text in irgend einer Datei in einem Subdirectory enthalten ist. Geht das auch ?
Ich habe es über in Linuy Script gelöst #!/bin/bash if [ -f output.txt ]; then rm output.txt fi while IFS= read -r line; # do echo "$line"; do grep -rnw -e "$line" $1; if [ $? -eq 0 ]; then echo "\"$line\" : true\n" >> output.txt else echo "\"$line\" : false\n" >> output.txt fi done |
AW: Suchen und Ersetzen als Skript (mehrfach)
Bei uns hat jemand eine FART.exe reingelegt, womit SQL-Scripte angepasst werden. (z.B. DBName in Backups)
"Find And Replace Text" Aber als ich das selbst nutzen wollte, um Zeilenumbrüche anzupassen, da hatte ich ein paar limitierende Problemechen, da die Entwickler scheinbar der Meinung sind, dass RegEx niemand brauche. Klar, in CMD ist manches nicht ganz so einfach. Aber Scripte hat man im Windows auch noch paar Andere, wie PowerShell, VBScript und JavaScript. (die letzten Beiden über den WSH/WindowsScriptingHost, wo man auch Python, PascalScript und mehr nachrüsten könnte) Selbst ohne installiertes WSL (Windows-Subsystem für Linux) haben Viele von euch bestimmt auch eine BASH zur Verfügung. Die arbeitet zwar teilweise bissl anders und hat dafür auch eine automatische Übersetzung von Windows- nach Linux-Pfaden ... siehe GitBash (weil Git habt ihr doch bestimmt installiert/rumliegen) Und für jede Script-Sprache gibt es unzählige Beispiele zum Suchen+Ersetzen. PS: Nur weil wir zufällig in soeinem Forum sind: Einen 3-Zeiler ins Delphi getippt und schon habt ihr ein eigenes passendes Konsolenprogrämmchen. Selbst mit sowas wie dem FinalBuilder kann man schnell was zusammenklicken, welches sich dann über die Console ausführen ließe, bzw. aus einer Batchdatei. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz