-
Notifications
You must be signed in to change notification settings - Fork 0
sort
Hamatoma edited this page Aug 10, 2022
·
6 revisions
Sortieren von Zeilen nach verschiedenen Kriterien.
- Die Bereiche, die für die Sortierung relevant sind, können Zeichenbereiche (von Zeichen x bis Zeichen y) oder wortbasiert (von Wort x bis Wort y) sein oder reguläre Ausdrücke sein.
- Die Worttrenner können definiert werden.
- Es können mehrere Bereiche definiert werden.
- Ein Bereich kann als "numerisch" gekennzeichnet werden: Dann erfolgt die Sortierung nach dem Zahlwert, nicht alphanumerisch. Zahlen können Ganzzahlen oder Gleitpunktzahlen sein.
| Name | Typ | Beschreibung | Beispiel |
|---|---|---|---|
| input | bufferName | Der Text aus diesem Puffer wird untersucht. Voreinstellung: input |
input=data
|
| output | bufferName | das Ergebnis wird in diesen Puffer geschrieben. Voreinstellung: output |
output=result
|
| type | string | Typ des Bereichs: char word regexpr Voreinstellung: char |
type=word
|
| ranges | string | Syntax: ['n']start[-end] Ein Bereich besteht aus einem Startwert und evt. einem Endwert, der mit '-' getrennt wird. Der Bereich kann mit 'n' beginnen, dann ist er numerisch. Es können mehrere Bereiche angegeben werden, Trenner ist ','. Start- und Endwerte beginnen mit 1 für den ersten Wert. Der Endwert ist inklusiv. Ist kein Endwert angegeben, ist der Startwert auch der Endwert. |
n3,n4-5,1 |
| filter | pattern | Ein regulärer Ausdruck, der Suchbereiche definiert. Die suchrelevanten Zeichenketten werden als Gruppen (mit '(' und ')' eingeschlosson) definiert. Dieser Parameter setzt automatisch den Typ auf "regexpr". |
filter=r/name: (\w+).*id: (\d+).*role: (\w+)/
|
| Filters | patternList | Eine Liste mit regulärer Ausdruck, der Suchbereiche definiert. Die suchrelevanten Zeichenketten werden als Gruppe (mit '(' und ')' eingeschlosson) definiert. Dieser Parameter setzt automatisch den Typ auf "regexpr". |
Filters=;r/id: (\d+)r/;r/name: (\w+)/;r/role: (\w+)/
|
| separator | pattern |
Ein Suchmuster (String oder regulärer Ausdruck), das die Worte voneinander trennt. Die suchrelevanten Zeichenketten werden durch Gruppen (umrahmt von '(' und ')') definiert. Dieser Parameter setzt automatisch den Typ auf "word". Default: Leerzeichen und Tabulatoren: r/\s+/
|
sep=","sep=r/[,;]/
|
Im Puffer csv steht:
Joe,1,user Bob,2,adm Charly,11,userKommando:
sort input=csv type=word ranges=3,n2,1 separator="," reverse input=output output=csvIm Ergebnispuffer output (Voreinstellung) steht:
Bob,2,adm Joe,1,user Charly,11,user
Im Puffer data steht:
home: dirs: 122 hidden-dirs: 29 files: 38299 MBytes: 1203.042 opt: dirs: 29 files: 1239 MBytes: 123.432 data: dirs: 4988 files: 792374 MBytes: 542034.774Kommando:
sort input=data filter=r/dirs: (\d+).*files: (\d+).*MBytes: (\S+)/ ranges=n2,n3Im Ergebnispuffer output (Voreinstellung) steht, nach Datenmenge sortiert:
data: dirs: 4988 files: 792374 MBytes: 542034.774 home: dirs: 122 hidden-dirs: 29 files: 38299 MBytes: 1203.042 opt: dirs: 29 files: 1239 MBytes: 123.432
Im Puffer data steht:
home: dirs: 122 hidden-dirs: 29 files: 38299 MBytes: 1203.042 opt: dirs: 29 files: 1239 MBytes: 123.432 data: dirs: 4988 files: 792374 MBytes: 542034.774Kommando:
sort input=data Filters=;r/MBytes: ([\d.]+)/;r/dirs: (\d+)/;r/files: (\d+)/ ranges="n1,n1,n1"Im Ergebnispuffer output (Voreinstellung) steht, nach Datenmenge sortiert:
data: dirs: 4988 files: 792374 MBytes: 542034.774 home: dirs: 122 hidden-dirs: 29 files: 38299 MBytes: 1203.042 opt: dirs: 29 files: 1239 MBytes: 123.432