• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

nach was genau wird mit [long]\{1\} gesucht?

Stiff1988

Newbie
hi, die überschrift sagt schon alles..
will wigentlich nur wissen nach welchen kriterien wörter gesucht werden, ich weis aber nichtmal was "[long]" oder "\{1\}" macht..
wenn es einer weis müsste das in einem einzigen satz zu beantworten sein.

danke im vorraus..
 
A

Anonymous

Gast
leider gibst du nur einen winzigen Teil eines größern Befehles aus. Wie es aussieht, könnte es sich um einen Regulären Ausdruck handeln, so wie er zB in sed Verwendung finden könnte.

[long] hier handelt es sich um eine "eigene selber definierte Zeichenklasse" (definiert durch die beiden eckingen Klammern). diese Zeichenklasse besteht hier aus den einzelnen Zeichen "g" "l" "n" "o" Innerhalb einer Suchfunktion würde das bedeuten hier wird nach einem der Zeichen g l n o gesucht, egal welches gefunden wird.

{1} ist bei den regulären Ausdrücken ein Wiederholungsoperator, der hier bedeutet das vorherige Zeichen muss genau einmal vorkommen
In deinem Fall ist es wohl notwendig die Geschweiften Klammern mit einem Backslash zu maskieren. Das ist zB bei sed notwendig,

Zusammengesetzt
[long]\{1\} sucht hier nach einem der Zeichen 'g' 'l' 'n' 'o' das sich hier entweder nicht wiederholen darf (wiederholen bedeutet hier auch nicht eines der anderen 3 Zeichen darf unmittelbar folgen) oder es wird das erste oder das letzte dieser Zeichen gesucht, das ist hier nicht eindeutig zu erkennen, dazu würde man den gesamten Befehl benötigen.
( es scheint hier etwas ungewöhnlich den Wiederholungsoperator 1 zu verwenden,
Meist wird hier zB {1,} mindestens einmal verwendet ,
oder zB {1,3} mindestens einmal höchsten aber drei mal.
Was der genaue Grund für die Angabe der Widerholung 1 sein soll, ist hier ohne den Gesamtbefehl nicht erkennbar.)

----------------

Eine 2. Möglichkeit währe auch denkbar, es handelt sich bei der Verwendung dabei nicht um einen regulären Ausdruck, ZB bei Verwendung innerhalb der bash, und du sagst "Gesucht" ; also eventuell dem Befehl grep. Dabei würde dann etwas gesucht, wo vor einer geschweiften Klammer mit einer 1 also {1} einer der Buchstaben g l n o vorkommt.
Anschauungsbeispiel.
Code:
priv0001:~ # echo -e "l{1}\ng{1}\nm{1}\n"
l{1}
g{1}
m{1}

priv0001:~ # echo -e "l{1}\ng{1}\nm{1}\n" | grep [long]\{1\}
l{1}
g{1}

------------------------
prinzipiell sind auch noch weitere Möglichkeiten und Bedeutungen durchaus denkbar, je nachdem aus welchem Zusammenhang das hier gerissen wurde.


robi
 
Oben