[GastForen Programme Print/Bildbearbeitung Adobe InDesign Grep Suche

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Grep Suche

John
Beiträge gesamt: 91

15. Jul 2007, 11:29
Beitrag # 1 von 19
Bewertung:
(24001 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich hätte gern ein Problem!

Wir bekommen von einer Datenbank Texte. Wenn der Text kursiv werden soll, dann ist er mit der Zeichenfolge »$KU«Text Text Text»$KU§« eingeklammert. Das kommt im Absatz mehrmals vor. Wenn wir nun in Grep (finde alle Zeichen) suchen findet Grep alles bis zum letzten $KU§ im Absatz. Wir haben jetzt alle Ziffern und Buchstaben eingegeben bis auf §. Gibt es nicht eine Möglichkeit der Suche: Suche alle Zeichen außer »§«?

Grepsuche:\$KU[a-zA-Z0-9, ]+\$KU§

«De vrai humain entendement». Ét. sur la litt. fr. de la fin du Moyen Age offertes en hommage à Jacqueline Cerquiglini-Toulet / textes rassemblés p. Yasmina Foehr-Janssens... Genève ‘05. Cf. $KUXLIII, 56 $KU§ [CR: StF L (‘06) 138 / Colombo Timelli, Maria; Scriptorium/Bull. codicologique LX, 1 (‘06) 40*-41* / Thieffry, S.; BHR LXVIII (‘06) 671-673 / Parussa, Gabriella]. $KU[2201$KU§

Ich bin gespannt ob es eine Lösung gibt.



Mit vielen Grüßen aus dem noch sommerlichen Spessart

John
X

Grep Suche

Gerald Singelmann
  
Beiträge gesamt: 6269

15. Jul 2007, 12:34
Beitrag # 2 von 19
Beitrag ID: #302723
Bewertung:
(23985 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat \$KU[a-zA-Z0-9, ]+\$KU§

Das + ist gierig und findet so viele Zeichen wie möglich. Es gibt glaube ich auch eine nicht-gierige Version, aber das Tutorial, mit dem ich grep lernte, schlug stattdessen vor, lieber
Code
[^$KU§] 

zu verwenden.
Wenn das erste Zeichen in [ ] ein ^ist, werden alle Zeichen außer den genannten gesucht.


als Antwort auf: [#302719]

Grep Suche

Martin Fischer
  
Beiträge gesamt: 12783

15. Jul 2007, 15:21
Beitrag # 3 von 19
Beitrag ID: #302730
Bewertung:
(23962 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Gerald,

> Wenn das erste Zeichen in [ ] ein ^ist, werden alle Zeichen außer den genannten gesucht.

Sollte der komplette Suchstring dann nicht so lauten:
Code
\$KU[^§]+\$KU§ 



als Antwort auf: [#302723]

Grep Suche

Gerald Singelmann
  
Beiträge gesamt: 6269

15. Jul 2007, 15:34
Beitrag # 4 von 19
Beitrag ID: #302732
Bewertung:
(23956 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Da die Klammern "$KU" wahrscheinlich weg sollen, müsste die Suche eher so aussehen:
Code
(\$KU)([^\$]+)(\$KU§) 

ersetzen durch
Code
$2 



als Antwort auf: [#302730]

Grep Suche

Martin Fischer
  
Beiträge gesamt: 12783

15. Jul 2007, 15:44
Beitrag # 5 von 19
Beitrag ID: #302735
Bewertung:
(23947 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Gerald,

das verstehe ich nicht:

[^\$]

Es geht bei dem Zeichen, das negiert werden soll, doch nicht um den Dollar, sondern um das Paragraphenzeichen:

Zitat von John Gibt es nicht eine Möglichkeit der Suche: Suche alle Zeichen außer »§«?


Die runden Klammern finde ich ok.

Wieviel Grad hast Du?


als Antwort auf: [#302732]

Grep Suche

Gerald Singelmann
  
Beiträge gesamt: 6269

15. Jul 2007, 16:08
Beitrag # 6 von 19
Beitrag ID: #302737
Bewertung:
(23940 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich muss Fieber haben, dass ich an so einem Sonntag arbeite. Oder welche Gradzahl meintest du?

Wenn du nach dem Paragraphenzeichen suchst, wirst du das $KU nicht los. $KU§ als Abbruchkriterium ist denkbar ungeeignet und es ist kein Wunder, dass ein schließendes Tag in XML </...> ist und nicht <.../>.
Mit anderen Worten: wenn die Suche nach $ nicht funktioniert, weil noch andere $ im Text vorkommen können, muss man sich andere Klammern überlegen. Vielleicht hilft es schon $KU§ gegen §$KU auszutauschen.


als Antwort auf: [#302735]

Grep Suche

Martin Fischer
  
Beiträge gesamt: 12783

15. Jul 2007, 16:29
Beitrag # 7 von 19
Beitrag ID: #302739
Bewertung:
(23934 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Ich muss Fieber haben, dass ich an so einem Sonntag arbeite. Oder welche Gradzahl meintest du?

Ich meinte die Außentemperaturen.
Hier im Büro im Keller mit Blick zur erbarmungslos einheizenden Sonne ist es angenehm kühl.

> Wenn du nach dem Paragraphenzeichen suchst, wirst du das $KU nicht los.

Wo Du recht hast, hast Du recht.

Aber ich glaube, oben hattest Du mal kurz nicht so ganz recht, also ein kleines bißchen unrecht.
Denn mit Deinem Suchstring hättest Du auch etwas wie

$KU§XLIII, 56 $KU§

finden können. Der Dollar war an dieser Stelle vollkommen irrelevant.
Und der OP wollte ja gerade das Paragraphenzeichen nach "$KU" im einleitenden Teil des Codes negieren.

Wahrscheinlich wolltest Du ihn aber davon überzeugen, daß die Sache besser ganz anders anzupacken sei. Und da hast Du wieder ein bißchen mehr recht als der OP und ich mit meinen Einwänden.

Ist's recht so? ;-)


als Antwort auf: [#302737]

Grep Suche

Gerald Singelmann
  
Beiträge gesamt: 6269

15. Jul 2007, 16:32
Beitrag # 8 von 19
Beitrag ID: #302740
Bewertung:
(23927 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Mit ein paar rechten Links ließe sich linksrum einiges richten.


als Antwort auf: [#302739]

Grep Suche

John
Beiträge gesamt: 91

16. Jul 2007, 10:56
Beitrag # 9 von 19
Beitrag ID: #302794
Bewertung:
(23826 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank!!


Erst einmal vielen Dank! Jetzt komme ich weiter. Das nächste Mal könnt ihr euch Zeit lassen, denn der Sonntag gehört der Familie.

(System OSX 10.4.10) Auf ein Problem möchte ich hinweisen. Vielleicht ist es nur mein Problem. Ich habe schon mehrere Bücher in CS3 erstellt. In Indesign wurde die neue Version von dem Plugin Suitcase Fusion installiert. Das Abspeichern und das Öffnen der Dateien dauerte unendlich lange. Dann ging gar nichts mehr! Ich habe ein Buch dreimal erstellt!! Bis ich auf die Idee kam, das Plugin zu entfernen. Jetzt lief alles wieder normal.

Mit freundlichen Grüßen
John


als Antwort auf: [#302740]

Grep Suche

Kai Rübsamen
  
Beiträge gesamt: 4684

16. Jul 2007, 11:55
Beitrag # 10 von 19
Beitrag ID: #302804
Bewertung:
(23801 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hm, als Grepanfänger verstehe ich es noch nicht ganz:

(\$KU)([^§]+)(\$KU§) findet bei mir alle Vorkommen.

(Ich hatte zunächst den Fehler gemacht und nach der letzten Klammer versehentlich ein Leerzeichen eingegeben. Hier wurde dann das letzte Vorkommen nicht gefunden, da kein Leerzeichen im Text).

Wenn ich jetzt die Suche mal aufbrösele:
1. (\$KU) findet diese Zeichenfolge
3. (\$KU§) findet diese Zeichenfolge

2. ([^§]+) findet alles bis auf § u. das in beliebiger Anzahl

> Ist es nicht egal ob ein § oder $ in der Klammer steht? Im Prinzip darf er doch alles finden was zwischen $1 und $3 steht, oder?
Oder ist das ^§ nur ein Hilfsmittel, damit man nicht alle Kombinationen eingeben braucht?

Es wäre schön, wenn ihr solche Sachen gerade in der Anfangszeit etwas ausführlicher erläutert, danke!


als Antwort auf: [#302794]
(Dieser Beitrag wurde von ruebi am 16. Jul 2007, 11:55 geändert)

Grep Suche

Martin Fischer
  
Beiträge gesamt: 12783

16. Jul 2007, 12:59
Beitrag # 11 von 19
Beitrag ID: #302811
Bewertung:
(23775 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Im Prinzip darf er doch alles finden was zwischen $1 und $3 steht, oder?

Im Prinzip hast Du recht (bis jetzt haben in diesem Thread fast alle irgendwie recht).

So lange die Paare von $KU und $KU§ immer vollständig sind, also auf ein $KU immer ein $KU§ folgt und jedem $KU$ ein $KU vorausgeht, ist diese zusätzliche und dezidierte Prüfung mittels [^§] nicht notwendig. Man könnte also in diesem Fall [^§] durch alle Zeichen ersetzen.

Halt! Oder auch nicht.
Ein Test bestätigt das gierige Verhalten von GREP.

(\$KU)(.+)(\$KU§)

findet Text vom ersten $KU bis zum letzten $KU§ in einem Absatz.
Aber ich glaube, das wollte Gerald oben schon ausdrücken.


Mit

(\$KU)(.+?)(\$KU§)

schränkt man die Gier etwas ein. Allerdings werden damit immer nur die ersten Codepaare in einem Absatz gefunden.

Gerald, wie zähme ich die Gier bei .+, um alle zusammengehörenden Paare zu erreichen?
Indem ich den Dollar (der zur Einleitung eines Codes verwendet wird) negiere, wie Du das oben gemacht hast?

(\$KU)([^$]+)(\$KU§)

Aha, deshalb bis Du auf dem Dollar rumgeritten - und ich auf dem Paragraphen!


als Antwort auf: [#302804]

Grep Suche

Martin Fischer
  
Beiträge gesamt: 12783

16. Jul 2007, 13:00
Beitrag # 12 von 19
Beitrag ID: #302812
Bewertung:
(23773 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Ich hätte gern ein Problem!

Das ist irgendwie nett formuliert.
Paßt vielleicht zum Beitrag von Christoph: http://www.hilfdirselbst.ch/...i?post=302579#302579


als Antwort auf: [#302719]

Grep Suche

Gerald Singelmann
  
Beiträge gesamt: 6269

19. Jul 2007, 14:28
Beitrag # 13 von 19
Beitrag ID: #303583
Bewertung:
(23689 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Rübi hat mich noch mal angeschrieben wegen dieses Themas, was gierige und faule Wildcards angeht und die Alternative, nach "alles, was nicht x ist" zu suchen.
Vielleicht erklärt beigelegtes PDF die Optionen?


als Antwort auf: [#302811]
Anhang:
greedy vs lazy.pdf (21.2 KB)

Grep Suche

Gerald Singelmann
  
Beiträge gesamt: 6269

19. Jul 2007, 15:15
Beitrag # 14 von 19
Beitrag ID: #303604
Bewertung:
(23675 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Martin machte mich darauf aufmerksam, dass in dem vorigen PDF einige Mißverständlichkeiten enthalten sind. Und da man auf Martin immer hören sollte ;) kommt hier eine verbesserte (hoffentlich) Version.

Falls die Anmerkung erlaubt ist: der Ausschnitt kommt direkt aus http://www.galileodesign.de/...=31638662A3-qO..opFI


als Antwort auf: [#303583]
Anhang:
greedy vs lazy v2.pdf (48.9 KB)

Grep Suche

Martin Fischer
  
Beiträge gesamt: 12783

19. Jul 2007, 15:22
Beitrag # 15 von 19
Beitrag ID: #303609
Bewertung:
(23670 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerald,

[off topic]
vorhin hatte ich u.a. nicht öffentlich auf die falsche Trennung bei

"Bes-
chreibung"

hingewiesen (klingt schwyzerdütsch).

Und nun sehe ich

"Absat-
zende."

und kann es nicht lassen, dies als ein Beispiel der Trennung des mitgelieferten Silbentrennmoduls zu proklamieren.
[/off topic]

Danke für die Erweiterung des zitierten Ausschnitts.


als Antwort auf: [#303604]
X