Bearbeiten von „Text butler“

Zur Navigation springen Zur Suche springen

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 3: Zeile 3:
= Links =
= Links =
* [[Flutter-Apps]]
* [[Flutter-Apps]]
* [[text_slave EN]]


= Zielsetzung =
= Zielsetzung =
Zeile 211: Zeile 210:
|-
|-
| '''append'''
| '''append'''
| boolean
|boolean
| Das Ergebnis wird im Zielpuffer angehängt.
| Das Ergebnis wird im Zielpuffer angehängt.
| append
| append
Zeile 224: Zeile 223:
| So oft wird der Text kopiert.
| So oft wird der Text kopiert.
| count=3
| count=3
|-
| '''input'''
| Puffername
| Der Text aus diesem Puffer wird vervielfacht. Voreinstellung: input
| input=data
|-
|-
| '''ListValues'''
| '''ListValues'''
Zeile 235: Zeile 229:
Einer zum Trennen der "Bereiche", im Beispiel ";", je Bereich einer zum Trennen der Werte, im Beispiel "," und "/".
Einer zum Trennen der "Bereiche", im Beispiel ";", je Bereich einer zum Trennen der Werte, im Beispiel "," und "/".
| ListValues=";,adam,berta,charly;/male/female/diverse;,41,23,59"
| ListValues=";,adam,berta,charly;/male/female/diverse;,41,23,59"
|-
| '''meta'''
| character
| Delimiter für die Platzhalter innerhalb von '''input'''. Voreinstellung: %
| meta=%
|-
|-
| '''offset'''
| '''offset'''
Zeile 253: Zeile 242:
| '''output'''
| '''output'''
| Puffername
| Puffername
| das Ergebnis wird in diesen Puffer geschrieben. Voreinstellung: output
| das Ergebnis wir in diesen Puffer geschrieben. Voreinstellung: output
| output=result
| output=result
|-
| '''meta'''
| character
| Delimiter für die Platzhalter innerhalb von '''input'''. Voreinstellung: %
| meta=%
|-
|-
| '''step'''
| '''step'''
Zeile 341: Zeile 335:
<pre>animal cat named Mia comes from London.
<pre>animal cat named Mia comes from London.
animal dog named Harro comes from Rome.
animal dog named Harro comes from Rome.
</pre>
== Execute ==
Ausführen von Kommandos in einem Puffer.
=== Parameter ===
{| class="wikitable"
! Name
! Typ
! Beschreibung
! Beispiel
|-
| '''input'''
| Puffername
| Pro Zeile steht hier ein Kommando. Diese werden der Reihe nach ausgeführt.
| execute input=script
|}
=== Beispiel ===
Im Puffer "script" steht:
<pre>copy text=i~"%index%: Id: id%number% Name: %char%%char%%char%~n" output=template
duplicate input=template count=3 offset=1 baseChar=A
</pre>
Kommando:
<pre>execute input=script
</pre>
Danach steht in Puffer "output":
<pre>0: Id: id1 Name: AAA
1: Id: id2 Name: BBB
2: Id: id3 Name: CCC
</pre>
</pre>


Zeile 379: Zeile 342:
=== Parameter ===
=== Parameter ===


{| class="wikitable"
* '''append''': Das Ergebnis wird an das Ziel angehängt.
! Name
* '''end''': Es werden nur Zeilen untersucht, die vor einer Zeile stehen, die auf diesen regulären Ausdruck passt.
! Typ
* '''filter''': Passt eine Zeile auf diesen regulärer Ausdruck, wird sie ins Ziel übernommen.
! Beschreibung
* '''Filters''': Eine Liste von regulären Ausdrücken: Passte eine auf eine Zeile, wird diese ins Ziel übernommen.
! Beispiel
* '''input''': Puffer mit dem Inhalt, der gefiltert wird. Voreinstellung: input
|-
* '''meta''': Delimiter der Platzhalter in '''template''' oder '''Templates'''. Voreinstellung: '%'
| '''append'''
* '''output''': Puffer, in den die gefilterten Zeilen landen. Voreinstellung: output
|boolean
* '''repeat''': Ist diese Zahl größer 1, wird der Bereich '''start''' und '''end''' entsprechend oft gesucht. 0:  beliebig oft suchen. Nur sinnvoll, wenn sowohl '''start''' als auch '''end''' definiert sind. Voreinstellung: 1
| das Ergebnis wird im Zielpuffer angehängt
* '''start''': Es werden nur Zeilen untersucht, die hinter einer Zeile stehen, die auf diesen regulären Ausdruck passt.
| app
* '''template''': Für jeden Treffer wird diese Vorlage ausgegeben, nachdem dort die Platzhalter ersetzt wurden.
|-
* '''Templates''': Es werden nur Zeilen untersucht, die hinter einer Zeile stehen, die auf diesen regulären Ausdruck passt.
| '''end'''
| regulärer Ausdruck
| Es werden nur Zeilen untersucht, die vor einer Zeile stehen, die auf diesen regulären Ausdruck passt.
| end="</address>"
|-
| '''filter'''
| regulärer Ausdruck
| Passt eine Zeile auf diesen regulärer Ausdruck, wird sie ins Ziel übernommen.
| filter=/2021\.\d+.\d+/
|-
| '''Filters'''
| stringList
| Eine Liste von regulären Ausdrücken: Passte eine auf eine Zeile, wird diese ins Ziel übernommen. Auto-Separator.
| Filters=";/Hello /;/[hH]i /"
|-
| '''input'''
| Puffername
| Der Text aus diesem Puffer wird vervielfacht. Voreinstellung: input
| input=data
|-
| '''meta'''
| character
| Delimiter für die Platzhalter innerhalb von '''input'''. Voreinstellung: %
| meta=%
|-
| '''output'''
| Puffername
| das Ergebnis wird in diesen Puffer geschrieben. Voreinstellung: output
| output=result
|-
| '''repeat'''
| int
| Ist diese Zahl größer 1, wird der Bereich '''start''' und '''end''' entsprechend oft gesucht. 0:  beliebig oft suchen.  
Nur sinnvoll, wenn sowohl '''start''' und '''end''' definiert sind. Voreinstellung: 1
| repeat=0
|-
| '''start'''
| regulärer Ausdruck
| Es werden nur Zeilen untersucht, die hinter einer Zeile stehen, die auf diesen regulären Ausdruck passt.
| start=/<address>/
|-
| '''template'''
| string
| Für jeden Treffer wird diese Vorlage ausgegeben, nachdem dort die Platzhalter ersetzt wurden.
Wird kein '''template''' angegeben, wird die ganze Zeile mit dem Treffer ausgegeben. Kann interpolierten Text enthalten.
| template=i~"Name: %1%~n"
|-
| '''Templates'''
| stringList
| Das Analogon zu '''template''', wenn '''Filters''' statt '''filter''' angegeben wurde.
Der erste Eintrag in 'Templates' ist dem ersten Eintrag in '''Filters''' zugeordnet, usw.
Wird kein '''Templates''' angegeben, wird die ganze Zeile mit dem Treffer ausgegeben. Kann interpolierten Text enthalten.
| Templates=i~";Name: %1%~n;Id: %1%~n"
|}
 
'''Hinweis''': Von den Parametern '''filter''' und '''Filters''' muss genau einer angegeben werden, also nicht keiner
'''Hinweis''': Von den Parametern '''filter''' und '''Filters''' muss genau einer angegeben werden, also nicht keiner
und nicht beide.
und nicht beide.
Zeile 482: Zeile 390:
</staff>
</staff>
</pre>
</pre>
Kommando:
* Kommando <code>filter fi=/name/</code>
<pre>filter fi=/name/
</pre>
In Puffer output steht:
In Puffer output steht:
<pre>    <name>Easy Rider</name>
<pre>    <name>Easy Rider</name>
Zeile 491: Zeile 397:
     <name>Charly</name>
     <name>Charly</name>
</pre>
</pre>
Kommando:
* Kommando <code>filter start=/<person/ end=!</person! fi=/name/ repeat=2</code>
<pre>filter start=/<person/ end=!</person! fi=/name/ repeat=2
</pre>
In Puffer output steht:
In Puffer output steht:
<pre>    <name>Adam</name>
<pre>    <name>Adam</name>
     <name>Berta</name>
     <name>Berta</name>
</pre>
</pre>
Kommando:
* Kommando <code>filter start=/<person/ end=!</person! fi=/<(name|id)>(.*?)</ repeat=2 template="%group1%: %group2%</code>
<pre>filter start=/<person/ end=!</person! fi=/<(name|id)>(.*?)</ repeat=2 template="%group1%: %group2%
</pre>
In Puffer output steht:
In Puffer output steht:
<pre>id: 1
<pre>id: 1
Zeile 507: Zeile 409:
name Berta
name Berta
</pre>
</pre>
Kommando:
* Kommando <code>filter start=/<person/ end=!</person! Filters=";<name;<id" repeat=2</code>
<pre>filter start=/<person/ end=!</person! Filters=";<name;<id" repeat=2
</pre>
In Puffer output:
<pre>    <id>1</id>     
<pre>    <id>1</id>     
     <name>Adam</name>
     <name>Adam</name>
Zeile 516: Zeile 415:
     <name>Berta</name>
     <name>Berta</name>
</pre>
</pre>
Kommando:
* Kommando <code>filter start=/<person/ end=!</person! Filters=";<(name)>(.?*)<;<id>(.?*)<" repeat=2 Templates=";%1%: %2%;no: %1%"</code>
<pre>filter start=/<person/ end=!</person! Filters=";<(name)>(.?*)<;<id>(.?*)<" repeat=2 Templates=";%1%: %2%;no: %1%"
</pre>
In Puffer output:
<pre>no: 1
<pre>no: 1
name: Adam
name: Adam
Zeile 532: Zeile 428:


=== Parameter ===
=== Parameter ===
 
      'input': paramBufferName,
{| class="wikitable"
      'output': paramBufferName,
! Name
      'meta': paramMeta,
! Typ
      'regexpr': paramRegExpr,
! Beschreibung
      'value': paramValue,
! Beispiel
      'with': paramWith,
|-
      'what': paramWhat,
| '''append'''
|boolean
| das Ergebnis wird im Zielpuffer angehängt
| app
|-
| '''input'''
| Puffername
| Der Text aus diesem Puffer wird untersucht. Voreinstellung: input
| input=data
|-
| '''output'''
| Puffername
| das Ergebnis wird in diesen Puffer geschrieben. Voreinstellung: output
| output=result
|-
| '''meta'''
| character
| Delimiter für die Platzhalter innerhalb von '''input'''. Voreinstellung: %
| meta=%
|-
| '''regexpr'''
| regulärer Ausdruck
| Dieser reguläre Ausdruck wird gesucht.
| regexpr=/name\s+([A-Z]\w*)/
|-
| '''with'''
| string
| Ersatztext. Kann Bezüge zum Suchtext enthalten, wenn '''regexpr''' verwendet wird.
| with=i~"Name: %group1%~n"
|-
| '''what'''
| string
| Ein Suchmuster ohne Metazeichen ("reiner Text"). Alternative zu '''regexpr'''.
| what="Hello "
|}


== show ==
== show ==
Zeile 580: Zeile 441:
=== Parameter ===
=== Parameter ===
        
        
{| class="wikitable"
* '''output''': In diesen Puffer wird die Info ausgegeben. Voreinstellung: output
! Name
* '''what''': Spezifiziert, was ausgegeben werden soll:
! Typ
** "buffers": Listet die Namen der Puffer aus, einen je Ausgabezeile
! Beschreibung
! Beispiel
|-
| '''append'''
| boolean
| Das Ergebnis wird im Zielpuffer angehängt.
| append
|-
| '''output'''
| Puffername
| das Ergebnis wird in diesen Puffer geschrieben. Voreinstellung: output
| output=result
|-
| '''what'''
| string ohne Delimiter
| Spezifiziert, was ausgegeben werden soll. Möglich sind: buffers Voreinstellung: buffers
| what=buffers
|}


=== Beispiel ===
=== Beispiel ===
Kommando:
* Kommando <code>show what=buffers</code>
<pre>show what=buffers
</pre>
Danach steht im Puffer "output":
Danach steht im Puffer "output":
<pre>examples
<pre>examples
Zeile 617: Zeile 458:


=== Parameter ===
=== Parameter ===
{| class="wikitable"
     
! Name
* '''a''': Name des ersten Puffers
! Typ
* '''b''': Name des zweiten Puffers
! Beschreibung
! Beispiel
|-
| '''a'''
| Puffername
| Erster Tauschpuffer.
| a=result
|-
| '''b'''
| Puffername
| Zweiter Tauschpuffer.
| b=input
|}
Ist kein Parameter angegeben, wird Puffer input und output vertauscht.
Ist kein Parameter angegeben, wird Puffer input und output vertauscht.


Bitte kopiere keine Webseiten, die nicht deine eigenen sind, benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Urhebers!
Du gibst uns hiermit deine Zusage, dass du den Text selbst verfasst hast, dass der Text Allgemeingut (public domain) ist, oder dass der Urheber seine Zustimmung gegeben hat. Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der Diskussionsseite darauf hin. Bitte beachte, dass alle Info-Theke-Beiträge automatisch unter der „Gemeinfreiheit“ stehen (siehe Info-Theke:Urheberrechte für Einzelheiten). Falls du nicht möchtest, dass deine Arbeit hier von anderen verändert und verbreitet wird, dann klicke nicht auf „Seite speichern“.

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)