AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Klatsch und Tratsch Suchen und Ersetzen als Skript (mehrfach)
Thema durchsuchen
Ansicht
Themen-Optionen

Suchen und Ersetzen als Skript (mehrfach)

Ein Thema von t2000 · begonnen am 24. Jan 2021 · letzter Beitrag vom 26. Jan 2021
Antwort Antwort
Benutzerbild von t2000
t2000

Registriert seit: 16. Dez 2005
Ort: NRW
232 Beiträge
 
Delphi 12 Athens
 
#1

Suchen und Ersetzen als Skript (mehrfach)

  Alt 24. Jan 2021, 12:39
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
Thomas
(Wir suchen eine(n) Entwickler(in) mit Ambitionen später ggf. die Softwarefirma zu leiten)
Aktuell nicht mehr. Aber ab vielleicht 2024/2025 wird das wieder sehr interessant!
  Mit Zitat antworten Zitat
Benutzerbild von t2000
t2000

Registriert seit: 16. Dez 2005
Ort: NRW
232 Beiträge
 
Delphi 12 Athens
 
#2

AW: Suchen und Ersetzen als Skript (mehrfach)

  Alt 24. Jan 2021, 12:47
Kennt jemand dies: http://findandreplace.io/
Thomas
(Wir suchen eine(n) Entwickler(in) mit Ambitionen später ggf. die Softwarefirma zu leiten)
Aktuell nicht mehr. Aber ab vielleicht 2024/2025 wird das wieder sehr interessant!
  Mit Zitat antworten Zitat
exon

Registriert seit: 12. Mär 2010
8 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Suchen und Ersetzen als Skript (mehrfach)

  Alt 24. Jan 2021, 13:07
http://docwiki.embarcadero.com/RADSt...usdr%C3%BCcken

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.
...
  Mit Zitat antworten Zitat
Rainbow6

Registriert seit: 21. Mai 2019
20 Beiträge
 
#4

AW: Suchen und Ersetzen als Skript (mehrfach)

  Alt 24. Jan 2021, 13:28
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.

http://gnuwin32.sourceforge.net/packages/sed.htm

Alternativ wäre auch AWK denkbar - ist aber für reines search-and-replace eigentlich schon wieder Overkill.

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
  Mit Zitat antworten Zitat
Benutzerbild von t2000
t2000

Registriert seit: 16. Dez 2005
Ort: NRW
232 Beiträge
 
Delphi 12 Athens
 
#5

AW: Suchen und Ersetzen als Skript (mehrfach)

  Alt 24. Jan 2021, 13:39
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.


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
Das geht nicht wirklich, da der Code von "nicht Delphi" stammt und auch in Teilen Überschneidungen mit der RTL hat. Würde bedeuten immer den Unit-Namen beim Type mit anzugeben. Bei uns selbst würde es bestimmt über 100 verschiedene Dateien betreffen und so nur eine einzige Tool-Datei.
Thomas
(Wir suchen eine(n) Entwickler(in) mit Ambitionen später ggf. die Softwarefirma zu leiten)
Aktuell nicht mehr. Aber ab vielleicht 2024/2025 wird das wieder sehr interessant!
  Mit Zitat antworten Zitat
v2afrank

Registriert seit: 9. Mai 2005
Ort: Bocholt
573 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Suchen und Ersetzen als Skript (mehrfach)

  Alt 26. Jan 2021, 09:38
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

Geändert von v2afrank (26. Jan 2021 um 12:14 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.067 Beiträge
 
Delphi 12 Athens
 
#7

AW: Suchen und Ersetzen als Skript (mehrfach)

  Alt 26. Jan 2021, 14:42
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (26. Jan 2021 um 14:50 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz