[GastForen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Forenindex -- Lesezeichen

14 Lesezeichen für grep

Skript, um mehrere Suchen/Ersetzen-Abfragen zu kombinieren
Hallo

Bekanntlich gibt es in Indesign CS3 die Möglichkeit, benutzerdefinierte Abfragen im Suchen/Ersetzen-Fenster unter eigenem Namen abzuspeichern. Eine komplizierte GREP-Abfrage, allenfalls ergänzt mit Formatsuche usw., kann so später einfach wieder hervorgeholt werden.

Schon lange wünschte ich mir ein Skript, dass mehrere dieser gespeicherten Abfragen automatisch ausführt. Heute hat mich Peter Kahrel netterweise darauf hingewiesen, dass im Adobe-Skript-Forum folgendes einfache Skript existiert:


Code
app.loadFindChangeQuery ('query_a', SearchModes.grepSearch); 
app.activeDocument.changeGrep();

app.loadFindChangeQuery ('query_b', SearchModes.grepSearch);
app.activeDocument.changeGrep();


Im obigen Skript müssen query_a bzw. query_b durch entsprechende Suchabfragen ersetzt werden. Diese befinden sich als xml-Dateien in Ordnern «Find-Change Queries» (separate Ordner für vordefinierte und selbst definierte). Im Skript die Namen ohne xml-Endung einfügen (z. B. 'Strich in Halbgeviertstrich').

Das Skript habe ich bei mir als jsx gespeichert, ein Testlauf war erfolgreich.

Vielen Dank an Peter für den Hinweis und natürlich an den Entwickler des Skripts (ich habe allerdings keinen Link auf das Adobe-Skript-Forum).

Weiterhin einen schönen Tag und Gruss
Marco
...
Marco Morgenthaler
13. Mai 2008, 12:49
|| GREP nur einmal ausführen
Hallo Jan

Da die Aufgabe von allgemeinem Interesse sein könnte (Literaturverzeichnisse), habe ich die Greps noch etwas verfeinert.

Für Namen wie:
Hans-Martin Müller
Hans-Martin Müller-Meier
Hans Martin Müller
Hans Martin Müller-Meier
Hans M. Müller
H. Martin Müller-Meier

gilt folgender Grep:
((\u\. )?[\w-]+( \u\.)?( \u\l+)?) ([\w-]+)

Damit ergeben sich für die 3 Greps (1. Namen nach in: – 2. Namen am Absatzanfang – 3. Namen nach bzw. zwischen Schrägstrichen) folgende Ausdrücke:

Namen nach «in:» («in» als Wort)
(?<=\bin: )((\u\. )?[\w-]+( \u\.)?( \u\l+)?) ([\w-]+)
$5, $1

Namen am Absatzanfang (gefolgt von (ed.), Schrägstrich oder Doppelpunkt)
^((\u\. )?[\w-]+( \u\.)?( \u\l+)?) ([\w-]+)(?= \(ed.\)|:|/)
$5, $1

Namen zwischen Schrägstrichen bzw. nach Schrägstrich und vor «:» oder «(ed./eds.):»
(?<=/)((\u\. )?[\w-]+( \u\.)?( \u\l+)?) ([\w-]+)(?= \(eds?.\)|:|/)
$5, $1

Für mehrere Ortsangaben mit Schrägstrichen (Wien/New York/London) habe ich auf die Schnelle keine Lösung. Allenfalls könnten in einem ersten Durchgang (per Skript oder manuell: Alles ändern) alle Fundstellen hervorgehoben werden (z. B. Farbe, fett usw.), und zwar ohne Umstellung; nachher visuelle Kontrolle und bei nicht gewünschten Stellen die Formatierung wieder aufheben. In einem zweiten Durchgang werden dann alle formatierten Stellen (Namen) vertauscht und die Formatierung rückgängig gemacht.

Gruss, Marco

Edit: Namenszusätze (Peter von Matt, Thomas de Maizière usw.) können natürlich bei Bedarf noch eingebaut werden, der Basis-Grep lautet dann ((\u\. )?[\w-]+( \u\.)?( \u\l+)?( von)?( de)?) ([\w-]+). Im Ändern-Feld muss dann einfach die Zahl der Klammerausdrücke berücksichtigt werden ($7, $1 usw.).
...
Marco Morgenthaler
10. Sep 2011, 16:05
Umwandlung einer Kategorienliste mit Tabstopps in Liste mit Aufzählungszeichen statt der Tabstopps
Hallo Lisa

Schön, dass es geklappt hat – auch ohne Grep.

Zum Thema Grep kann ich dir die Einführung von Gerald Singelmann, Moderator in diesem Forum und einer der besten Kenner von Indesign, empfehlen: http://indesign-faq.de/...09/10/grep-intro.pdf

Dann gibt es eine gute Einführung von Peter Kahrel, mit der ich Grep gelernt habe (auf Englisch): http://oreilly.com/catalog/9780596156015

Bald erscheint zudem ein neues Buch mit ausführlichem Teil zu Grep (http://www.indd-skript.de/). Wenn dich auch Skripts interessieren, ist das Buch von Gregor Fellenz sicher eine gute Wahl.

Und last, but not least werden hier im Forum auch immer wieder Grep-Lösungen besprochen und Fragen im Zusammenhang mit Grep beantwortet.

Da ein Grep-Stile Teil des Absatzformats ist, kannst du dieses (zusammen mit dem dazugehörigen Grep-Stil) auch in andere Dokumente importieren (Absatzformate laden …). Grep-Abfragen lassen sich speichern (im Fenster Suchen/Ersetzen). Und aus einem solchen gespeicherten Grep-Ausdruck lässt sich per Copy/Paste auch schnell ein Grep-Stil basteln.

Gruss, Marco
...
Marco Morgenthaler
24. Mär 2011, 10:05
Suchen & Ersetzen ID 4CS: Klammern zur Kursivierung hinzufügen
Hallo Jan-Dirk

Denkbar wäre auch eine einfache GREP-Lösung.

Suchen nach: \((?!.)|(?<!.)\)
Format: Regular (Grundschrift)

Ändern in:
Format ersetzen: ZF Italic

Der Grep sucht nach öffnender bzw. schliessender Klammer in der Grundschrift, wenn nach bzw. vor der Klammer kein Zeichen in Grundschrift steht. Anders gesagt: Wenn der Text innerhalb der Klammern nicht in Grundschrift ist, werden die Klammern ins gewünschte Zeichenformat geändert.

Gruss, Marco
...
Marco Morgenthaler
16. Mär 2011, 14:15
|| automatischer Abstand zwischen 2 aufeinanderfolgenden Absatzformaten
Hallo Kai und Martin,

ich habe gestestet
und komme mit 2 Durchgängen aus.

1. S: \r + Format E: $0###
2. S: ###(\w) E: $1+ Format

Oder liege ich da irgendwo falsch?


Gruß Quarz

--------------------------------------------
InDesign CS4 ver6.04 | WinXP SP3

...
Quarz
26. Apr 2010, 11:55
GREP - Unterschiede mit ›S & E‹ und ›FindChangeByList‹
Hallo Ihr GREP Spezialisten,

vielleicht kann mir jemand helfen.
Ich bin am verzweifeln, weil ich den (Denk)fehler nicht finde.

In ›S & E‹ klappt es einwandfrei.
Mit ›FindChangeByList‹ nicht.

Datum
Mo 18. Jan 2008 / 9:00 Uhr
soll umgewandelt werden in
MoTab18. Jan 2008Achtelgeviert|Achtelgeviert9:00 Uhr
----------------------
›S & E‹
^(\w\w) (\d+\. \w{3,5} \d{4})\s/\s
$1\t$2~<~<|~<~<
-----------------------
›FindChangeByList‹
grep
{findWhat:"^(\\w\\w) (\\d+\\.\\s\\w{3,5}\\s\\d{4})\\s\\/\\s"}
{ChangeTo:"$1\\t$2~<~<|~<~<", appliedParagraphStyle:"Datum_1}
{}

Es wird der Tab und die Achtelgevierte nicht ersetzt.
Wenn ich kein AF eingebe, werden die gespeicherten Teilbegriffe ($1+$2) einfach gelöscht.
----------------------

Gruß
Quarz
...
Quarz
25. Mär 2008, 18:37
GREP - erste Versuche - Bedeutung der Klammern?!
> Eine gute Übersicht und Einführung findest Du auch ...

Inzwischen gibt es eine spezielle Einführung in GREP für InDesign CS3 als ShortCut von Peter Kahrel zum Download: GREP in InDesign CS3 (PDF)
...
Martin Fischer
17. Okt 2007, 01:56
Grep: Suche und Ersetzen von Leerzeichen
Hallo Gero

Ich verstehe diesen letzten Beitrag nicht ganz. Warum plötzlich /i, um die Gross-/Kleinschreibung nicht zu beachten? Es ist doch (?i) und das Gegenteil (?-i).

Eine dritte Variante steht im Bonus-Magazin von «Dirty Tricks»: (?!) für Gross-/Kleinschreibung an, (?-!) für aus. Etwas verwirrend …

Zu deinem GREP: \W hinter t verhindert zwar das Auffinden im Satz:
2007 tummelten sich 20 tolle Kinder mit 40 total genervten Eltern, nicht aber in
2007 mümmelten sich 20 mollige Kinder mit 40 miesgelaunten Eltern ein.

Ich glaube, am einfachsten ist das Problem wieder mit einem negativen Lookahead zu lösen:
Code
(?i)(\d) ?(mm|cm|m|g|kg|t)(?!\w)(?-i) 


wobei (?!\w) ausschliesst, dass nach der Masseinheit ein Wortzeichen folgt.

Noch eine letzte Frage: (?-i) muss am Schluss stehen, sonst ist standardmässig die Gross-/Kleinschreibung in Zukunft immer an? Oder warum steht das am Schluss?

Herzliche Grüsse, Marco
...
Marco Morgenthaler
4. Jan 2008, 12:18
GREP: Lookbehind UND Lookahead
Marco,

das mit den Umlauten ist m.W. ein "anerkannter" Bug.
Ich habe noch nicht überprüft, welche Unicode-Bereiche davon betroffen sind.
...
Martin Fischer
3. Sep 2007, 18:58
Grep Suche
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?
...
Gerald Singelmann
19. Jul 2007, 14:28
Mal weider GREP
Ich brauche Hilfe mit GREP.

Ich möchte alle Stellen Finden, in denen ich [NAME]-Palette geschrieben habe, und durch Palette [NAME] ersetzen.
Der [Name] sind unterschiedlich lange Wörter (ohne eckige Klammer).

Am besten wäre es, wenn [NAME] dann auch noch im ZF Sowieso formatiert werden könnte.

Wie muss der GREP Ausdruck lauten?!?!?!

Edit: Der [Name] ist EIN Wort, dass unterschiedlich lang ist (ohne eckige Klammer).
...
Christoph Steffens
19. Jul 2007, 11:27
Mal weider GREP
Code
\b([^-\s]+)-Palette 

ersetzt durch
Code
Palette $1 

scheint zu funktionieren.
Erklärung:
\b ist eine Wortgrenze
[^...] alle Zeichen, die nicht ... sind
-\s ein - oder ein beliebiger Leerraum
+ eins oder mehrere
() speichere das Gefundene in $1

Wahrscheinlich kann man das \b auch weglassen.

In meinem Testtext kam auch der Begriff "Die Formate-Paletten" vor. Die Mehrzahl von Palette geht bei der Suche durcheinander.
...
Gerald Singelmann
19. Jul 2007, 11:42
Mal weider GREP
Hallo Kai,

dafür brauchts etwas Umschau - was in der Gegend ist (lookaround).
In diesem Fall lookbehind: ?<=

Ersetzefeld:
Code
(?<=Palette )([^\s]+) 


Suchfeld: [leer] + [Formatoptionen]
-----
edit:
Jetzt überlasse ich das Antworten Gerald.
Der ist eh immer einen Kick schneller.
Kein Wunder, hab GREP schließlich von ihm gelernt. ;-)
...
Martin Fischer
19. Jul 2007, 12:37
Einzelne Wörter in Zeile
In CS3 könnte man das mit GREP erreichen:

Suchen: \s(?=[\w[:punct:]]+$)
Ersetzen mit: ~S

Dieser GREP ersetzt das Leerzeichen vor dem letzten Wort in jedem Absatz mit einem 'variable-width non-breaking space'. Martins methode ist vielleicht schöner, denn es affektiert nur die Absatzen die ein einzelnes Wort auf dem letzten Linie haben -- aber das Skript muss wiederhohlt werden wenn etwas geändert wird.

Peter
...
Peter Kahrel
25. Jun 2007, 22:48
Hier Klicken

Veranstaltungen

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
26.04.2019

Äh, der Kunde hat leider kein InDesign… Aber Office!

HUSS-MEDIEN GmbH
Freitag, 26. Apr. 2019, 17.00 - 20.00 Uhr

Vortrag

Willkommen zur ersten IDUGB im Jahr 2019. Und gemäß Heikes Ansatz, dass die IDUG „mehr als InDesign“ ist, schauen wir dieses Mal ein wenig über den Tellerrand. Okay, auch wenn wir gern über Office lächeln: Es muss jetzt mal sein Egal was man von Office hält, als InDesign-Anwender*in kommt man immer wieder in Kontakt zu Word, Excel und PowerPoint. Es fängt bei Texten und Tabellen an, die in InDesign verarbeitet werden wollen, bis hin zu PowerPoint-Vorlagen im Corporate Design, die Kunden bestellen. Teil 1: Was kann Office alles, was können wir eventuell nutzen? Keine Angst: Ihr müsste jetzt nicht zum Office-Crack werden. Dann dafür gibt es ja Leute, wie Stephan! Er wird euch helfen, zeigt euch im ersten Teil des Abends maßgeblich, was Office so alles kann, was aber auch nicht. Es geht um ganz klassische Frage von InDesigner*innen – gibt es Grundlinienraster, Schnittmasken oder Sonderfarben? Daneben gib es aber auch Grundlegendes, z.B. wie man überhaupt mit der Arbeit in Office loslegt, wo man wichtige Einstellungen findet und wie dieses Office überhaupt so tickt. Wenn Ihr also mal Dokumentenvorlagen für Kunden gestaltet, kennt ihr schon die Möglichkeiten und könntet schon während der Gestaltungsphase auf die Besonderheiten eingehen. Aber Keine Angst, es gibt immer noch genug für uns in InDesign zu tun!

Vollständige Informationen und Anmeldung via https://idug-berlin.de/idugb44/

Ja

Organisator: InDesign User Group Berlin

Kontaktinformation: InDesign User Group Berlin, E-Mailmail AT idug-berlin DOT de

https://idug-berlin.de

Veranstaltungen
06.05.2019 - 07.05.2019

Stuttgart
Montag, 06. Mai 2019, 09.30 Uhr - Dienstag, 07. Mai 2019, 17.30 Uhr

Schulung, Seminar

Unsere Schulung „Zweitägige Weiterbildung zum Cleverprinting-Reinzeichner“ bietet allen Anwendern, die in Agenturen oder freiberuflich als Reinzeichner bzw. in der Reinzeichnung arbeiten, topaktuelles Grafik- und PrePress-Fachwissen rund um das Thema „Druckdatenerstellung mit InDesign, Photoshop, Acrobat“.

Ja

Organisator: Cleverprinting.de

Zweitägige Weiterbildung zum Cleverprinting-Reinzeichner