Die gOption (zB s/pattern/replacement/g) für viele Werkzeuge , dass die Verwendung Regex-Stil Pattern Matching und der :gBefehl in ed, ex, vi, und vimhaben ziemlich ähnliche Nutzung und Bedeutung: erfüllt die regex „global“, das heißt, nicht aufhören nach dem ersten Spiel.
Ich habe eine zweifache Frage dazu:
- Was war zuerst da, der
:gBefehl oder dasgMustervergleichsflag und in welchem Tool? Es sieht so aus, als ob die meisten Tools (z. B.sed), die dasgFlag für die Mustererkennung verwenden, nur direkt oder indirekt emulierened. Zum Beispiel erlauben im Post-Perl-Zeitalter die meisten Tools, die Regex verwenden, dasgFlag, weil Perl dies tut, und Perl, wie es scheint, tut es, weiled->sed->Perl. Es würde mich also nicht wundern, wenn die Antwort lautet: "Sie wurden gleichzeitig in das ursprünglicheedTool eingeführt und haben darüber hinaus keinen historischen Präzedenzfall." - Warum wird dies als
globalOption (oder Befehl) bezeichnet? Es ist wirklich nichts "Globales" daran; Der:gBefehl nimmt wie jeder andereedBefehl eine Reihe von Zeilen ein , und dasgFlag erweitert den Suchbereich in keiner Weise (es erlaubt nur mehrere Treffer). Ich denke, ich kann mir keinen besseren Namen vorstellen , aber der Auserwählte scheint mir nur seltsam, also frage ich mich, ob es einen Grund dafür gibt, den ich nicht sehe.
gBefehl ed (1) ist insofern global, als er einen (normalerweise einzeiligen) Befehl auf mehrere Zeilen anwendet .