Seite 1 von 2

mehrere Befehle anwenden

Verfasst: So 16. Jun 2024, 19:27
von MicroWnono
Hallo liebe LibreOffice Anwender,

ich würde gern mehrere "Suchen und Ersetzen" Befehle in LibreWriter zu einer Anweisung zusammenfassen.
Was die einfachste Möglichkeit ist weiß ich eben nicht. Makro oder Stapeldatei oder Programm ? Ich bin da auch Anfänger.

Ich habe einige *.txt Dateien in einem Ordner, die ich, wenn möglich alle gleichzeitig über eine Anweisung laufen lassen möchte. Das betrifft 4 x "Suchen und Ersetzen" hintereinander.

Wie mache ich das möglichst einfach?

Danke für eure Hilfen.

Gruß, MicoWnono

Re: mehrere Befehle anwenden

Verfasst: So 16. Jun 2024, 20:35
von miesepeter
MicroWnono hat geschrieben:
So 16. Jun 2024, 19:27
Ich bin da auch Anfänger.

Hallo,
ich würde dir dazu spontan grepwin empfehlen, falls du unter Windows arbeitest. Das Programm ist nahezu selbsterklärend.

Habe es unter W1064pro mal ausprobiert bei 4 txt-Dateien in einem Arbeitsschritt und in allen Dateien gleichermaßen Wörter ersetzt, hat geklappt.
Ob das von LibreOffice aus ohne Makro-Kenntnisse möglich ist, kann ich dir nicht sicher sagen, ich vermute aber nein. - Ciao

Re: mehrere Befehle anwenden

Verfasst: So 16. Jun 2024, 21:06
von MicroWnono
Hallo miesepeter,

ich danke Dir für Deinen guten Tipp.
Ich arbeite auf Linux. Deshalb die Andeutung, ob das vielleicht auch von der Konsole aus als Shellskript gemacht werden kann?
Ich brauche da erst mal ein wenig Anschub, da ich mich damit gar nicht auskenne.

Re: mehrere Befehle anwenden

Verfasst: So 16. Jun 2024, 21:23
von karolus
MicroWnono hat geschrieben:
So 16. Jun 2024, 21:06
Hallo miesepeter,
Ich arbeite auf Linux. Deshalb die Andeutung, ob das vielleicht auch von der Konsole aus als Shellskript gemacht werden kann?
Ich brauche da erst mal ein wenig Anschub, da ich mich damit gar nicht auskenne.
Auf Linux gibts da sed awk gawk … python um nur die zu nennen die mir spontan einfallen, aber für eine konkretere Hilfe müsstest du schon die Aufgabenstellung deutlich ausführlicher beschreiben!

Re: mehrere Befehle anwenden

Verfasst: So 16. Jun 2024, 22:17
von MicroWnono
Hallo,
für eine konkretere Hilfe müsstest du schon die Aufgabenstellung deutlich ausführlicher beschreiben!
Eigentlich für's erste, nur 4x "Suchen und Ersetzen", nacheinander. Das möchte ich dann auf mehrere *.txt Dateien in einem Ordner gleichzeitig anwenden. Vielleicht könnte man das auch als Shellskript schreiben?
Wenn das auch mit ... sed awk gawk … python geht und nicht allzuviel Einarbeitungszeit benötigt, würde ich das auch gern mal versuchen. Danke für den Tipp.

Re: mehrere Befehle anwenden

Verfasst: Mo 17. Jun 2024, 08:57
von miesepeter
MicroWnono hat geschrieben:
So 16. Jun 2024, 22:17
nicht allzuviel Einarbeitungszeit
Hallo,

ich kenne mich in dem Metier auch nicht aus und suche einfach im Internet, Suchbegriff: grep ersetzen in dateien

Gefunden z. B.:
https://stackoverflow.com/questions/15402770/how-to-search-and-replace-using-grep hat geschrieben:Example

grep -rl 'windows' ./ | xargs sed -i 's/windows/linux/g'

This will search for the string 'windows' in all files relative to the current directory and replace 'windows' with 'linux' for each occurrence of the string in each file.
https://www.tecchannel.de/a/suchen-und-ersetzen-in-dateien-unter-linux,2033812 hat geschrieben:Mit dem Tool sed gibt es eine Lösung für die Konsole zum Suchen und Ersetzen von bestimmten Zeichenfolgen. ...
Nun nehmen wir an, Sie haben nicht nur eine Datei, sondern eine ganze Menge davon. Und in allen müssen Sie einen Begriff ersetzen. Dazu nehmen wir nicht nur sed, sondern kombinieren es mit find:

$ find /<Pfad>/<Dateien> -type f -exec sed -i 's/<alter Begriff>/<neuer Begriff>/g' {} \;
  • Schließlich kannst du grepwin auch noch unter WINE einsetzen. Hab's gerade ausprobiert: Funktionierte beim "gleichzeitigen" Ersetzen von Text in mehreren txt-Dateien.
Der Königsweg ist natürlich, so wie es @karolus vorschlägt, die Ersetzungsvorgänge von Grund auf zu lernen.

Re: mehrere Befehle anwenden

Verfasst: Mo 17. Jun 2024, 09:32
von MicroWnono
Hallo miesepeter und karolus,

ich melde mich nur kurz um mich für eure Vorschläge zu bedanken.
Ich muss das erst versuchen.

Re: mehrere Befehle anwenden

Verfasst: Mo 17. Jun 2024, 10:46
von MicroWnono
Hallo,

also jetzt habe ich schon gesehen, dass man mit den vorgeschlagenen konsolen-Befehlen gut Wörter finden und austauschen kann.
Aber ist es auch möglich wie das in der "Suchen und Ersetzen" Funktion bei LW ist, z.B. einzelne Zeichen verschiedenlicher Schriftart oder Aussehen auszutauschen.
Ich verwende Textdateien, die durch OCR entstanden sind. Da entstehen manchmal Satzzeichen oder Buchstaben die nicht zu zu meiner gewählten Zielschrift passen.

Beispiele:
Der rohe OCR Text hat am Ende jeder Zeile einen Zeilenumbruch. Die entferne ich manuell über 3 Schritte über einen kleinen Umweg, so dass aber Absätze den Zeilenumbruch behalten.
Link: https://www.com-magazin.de/tipps-tricks ... 98407.html

Der Gedankenstrich ist manchmal sehr lang gezogen — gegenüber - (in Wirklichkeit noch extremer). Dann ist es nötig die zu langen Gedankenstriche gegen die etwas kürzeren auszutauschen. Mir ist nicht ganz klar, ob der lange Gedankenstrich einen anderen Ascii-Code hat wie der kurze, oder ob es sich um andere Schriften handelt.

Ich vermute, dass die konsolen-Befehle nur eindeutige Wörter finden und austauschen, aber ob sie auch prinzipiell gleiche Satzzeichen, nur mit anderem aussehen finden und austauschen?
Und, eben die Zeilenumbrüche. Es sollen ja nicht generell alle Zeilenumbrüche entfernt werden. Nur die am ende einer Zeile gesetzt sind.

Vielleicht kann mir dazu noch einmal jemand etwas Klarheit verschaffen?
Danke euch.

Re: mehrere Befehle anwenden

Verfasst: Mo 17. Jun 2024, 11:15
von miesepeter
MicroWnono hat geschrieben:
Mo 17. Jun 2024, 10:46
Der Gedankenstrich ist manchmal sehr lang gezogen — gegenüber -
Hier musst du nach Unicode-Zeichen suchen. Die findest du im Dialog (Writer) Sonderzeichen. Auch kannst du dir den Code mit Tastenkombination ALT + C anzeigen lassen (bei Wiederholung wird wieder ins Zeichen umgewandelt; bei US-englischer UI heißt der Shortcut ALT + X). Es handelt sich in den von dir genannten Fällen meist um En-dash und Em-dash. Im Sonderzeichen-Dialog Suchen kannst du en oder en- oder em eingeben und entsprechende(s) Zeichen werden dir gezeigt.
-
Wieweit die genannten Hilfsmittel in der Lage sind, einen manuellen Zeilenwechsel zu ersetzen, musst du selbst herausfinden. @Karolus hat für LibreOffice/Linux mal den Tipp gegeben, wie man im Dialog SUCHEN&ERSETZEN dieses "Zeichen" suchen und dann z. B. mit einem Leerzeichen ersetzen kann.
https://unicode-org.github.io/icu/userguide/strings/regexp.html hat geschrieben:\n
Match a LINE FEED, \u000A.
Ähnliches müsste auch für Anführungszeichen gelten, vorausgesetzt, sie liegen paarweise vor (was bei OCR nicht immer der Fall sein dürfte). Hier würde ich suchen "(.+)" und ersetzen „$1“. Reguläre Ausdrücke!

Aus meiner Sicht wäre es langsam an der Zeit, dem Forum Beispieldateien vorzustellen, die die genannten Aufgabenstellungen enthalten. - Ciao

EDIT
Der Beitrag wurde mehrfach geändert.

Re: mehrere Befehle anwenden

Verfasst: Mo 17. Jun 2024, 18:57
von MicroWnono
Hallo miesepeter,

danke für für die letzte Meldung.

Ich habe ein Beispiel-Dokument hier angehängt. Ich hoffe dass es damit verständlicher wird. Eigentlich ganz simple Handgriffe, wenn man sie der Reihe nach manuell in LW macht.
Weil es für jede mit OCR generierte Seite die gleiche Routine ist, wäre eine Zusammenfassung der einzelnen Schritte eine logische Sache. Die Zusammenfassung dann gleich für einen Stapel an Seiten verwenden. Das wäre mein Ziel unter Linux.

OCR Rohdaten Beispiel.odt
(27.27 KiB) 134-mal heruntergeladen