<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Ex_%28Texteditor%29</id>
	<title>Ex (Texteditor) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Ex_%28Texteditor%29"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Ex_(Texteditor)&amp;action=history"/>
	<updated>2026-05-28T10:22:06Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Ex_(Texteditor)&amp;diff=1035275&amp;oldid=prev</id>
		<title>80.151.9.165: /* Interaktive und nicht interaktive Verwendung */ optisch verbunden</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Ex_(Texteditor)&amp;diff=1035275&amp;oldid=prev"/>
		<updated>2021-11-12T12:21:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Interaktive und nicht interaktive Verwendung: &lt;/span&gt; optisch verbunden&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{DISPLAYTITLE:ex (Texteditor)}}&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;ex&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;/usr/bin/ex&amp;lt;/code&amp;gt;) ist ein [[zeilenorientierter Editor]] und Bestandteil von [[Unix]]- und unixartigen Systemen. Er gehört zu einer Familie von Editoren, zu denen interaktiv benutzbare (&amp;lt;code&amp;gt;[[ed (Texteditor)|ed]]&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;[[vi]]&amp;lt;/code&amp;gt;), aber auch solche für den Batchbetrieb (&amp;lt;code&amp;gt;[[Sed (Unix)|sed]]&amp;lt;/code&amp;gt;) gehören und die voneinander abgeleitet sind.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ex&amp;lt;/code&amp;gt; ist in Funktionsumfang und Verhalten normiert durch den [[Portable Operating System Interface|POSIX]]-Standard.&amp;lt;ref name=&amp;quot;posix&amp;quot;&amp;gt;{{Internetquelle |url=http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ex.html |titel=ex-Spezifikation der Open Group |sprache=en |zugriff=2016-09-07}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Geschichte ==&lt;br /&gt;
Der originale &amp;lt;code&amp;gt;ex&amp;lt;/code&amp;gt; war eine erweiterte Version des –&amp;amp;nbsp;damaligen&amp;amp;nbsp;– Unix-Standardeditors &amp;lt;code&amp;gt;ed&amp;lt;/code&amp;gt;, welcher seinerseits Teil der [[Berkeley Software Distribution]] (BSD) war. Die Weiterentwicklung &amp;lt;code&amp;gt;ex&amp;lt;/code&amp;gt; verbesserte im Vergleich zu &amp;lt;code&amp;gt;ed&amp;lt;/code&amp;gt; vor allem die Benutzerfreundlichkeit, ohne allerdings das Grundkonzept des zeilenorientierten Editors anzutasten. Später nahm [[Bill Joy]] &amp;lt;code&amp;gt;ex&amp;lt;/code&amp;gt; als Grundlage und entwickelte darauf –&amp;amp;nbsp;zuerst in Form eines Makro-Pakets, später als eigenständiges Programm&amp;amp;nbsp;– den Editor [[vi]]. Deshalb kann der &amp;lt;code&amp;gt;vi&amp;lt;/code&amp;gt; auch mit einem Befehl in einen &amp;lt;code&amp;gt;ex&amp;lt;/code&amp;gt;-Modus geschaltet werden.&lt;br /&gt;
&lt;br /&gt;
== Benutzung ==&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Einstellungsmöglichkeiten unterscheiden sich von System zu System aufgrund leicht unterschiedlicher Implementierungen, wenn es auch einen immer vorhandenen, gemeinsamen Grundstock gibt. Alle aktuell gültigen Einstellungen können während der Session durch den Befehl &amp;lt;code&amp;gt;set all&amp;lt;/code&amp;gt; angezeigt werden. Das folgende Beispiel zeigt dies wie auch den Programmaufruf selbst auf einem aktuellen [[AIX]]-System (oslevel 7100-04-02-1614). Die Hervorhebungen sind im Original nicht vorhanden und dienen lediglich der Verdeutlichung:&lt;br /&gt;
&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;ex .kshrc&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;quot;.kshrc&amp;quot; 129/2238&lt;br /&gt;
 :&amp;#039;&amp;#039;&amp;#039;set all&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 autoindent              mesg                            noshowmode&lt;br /&gt;
 autoprint               nomodeline                      noslowopen&lt;br /&gt;
 noautowrite             nonumber                        tabstop=8&lt;br /&gt;
 nobeautify              nonovice                        taglength=0&lt;br /&gt;
 closepunct=&amp;#039;&amp;quot;.,;)]}     nooptimize                      tags=tags /usr/lib/tags&lt;br /&gt;
 directory=/var/tmp      paragraphs=IPLPPPQPP LIpplpipbp backtag&lt;br /&gt;
 noedcompatible          partialcharacter=-              term=xterm-r5&lt;br /&gt;
 noerrorbells            prompt                          terse&lt;br /&gt;
 exrc                    noreadonly                      timeout&lt;br /&gt;
 noflash                 redraw                          ttytype=xterm-r5&lt;br /&gt;
 hardtabs=8              remap                           warn&lt;br /&gt;
 history=0               report=5                        window=39&lt;br /&gt;
 noignorecase            scroll=19                       wrapscan&lt;br /&gt;
 linelimit=1048560       sections=NHSHH HUuhsh+c         wrapmargin=0&lt;br /&gt;
 nolisp                  shell=/usr/bin/ksh              nowriteany&lt;br /&gt;
 nolist                  shiftwidth=5                    wraptype=word&lt;br /&gt;
 magic                   noshowmatch&lt;br /&gt;
&lt;br /&gt;
Einstellungen sind entweder deklarativer Natur, wo einem Bezeichner ein Wert zugewiesen wird (siehe im Beispiel etwa &amp;#039;&amp;#039;ttytype&amp;#039;&amp;#039;) oder logisch. Bei logischen Einstellungen wird traditionell der Bezeichner mit einem vorangestellten &amp;lt;code&amp;gt;no&amp;lt;/code&amp;gt; aus- und ohne dieses Präfix eingeschaltet (siehe etwa &amp;#039;&amp;#039;nonumber&amp;#039;&amp;#039;, der Befehl &amp;lt;code&amp;gt;set number&amp;lt;/code&amp;gt; schaltet die Ausgabe von Zeilennummern ein, &amp;lt;code&amp;gt;set nonumber&amp;lt;/code&amp;gt; stellt dieses Verhalten ab).&lt;br /&gt;
&lt;br /&gt;
Die Anweisungen zum Einstellen von &amp;lt;code&amp;gt;ex&amp;lt;/code&amp;gt; werden beim Start des Programms aus Dateien entnommen. Systemweite Einstellungen stehen in &amp;lt;code&amp;gt;/etc/exrc&amp;lt;/code&amp;gt;. Benutzerbezogene Einstellungen stehen in &amp;lt;code&amp;gt;$HOME/.exrc&amp;lt;/code&amp;gt;. Ist die Option &amp;lt;code&amp;gt;exrc&amp;lt;/code&amp;gt; gesetzt, wird die Datei &amp;lt;code&amp;gt;./.exrc&amp;lt;/code&amp;gt; ausgewertet.&lt;br /&gt;
&lt;br /&gt;
Einstellungen werden auch aus der [[Umgebungsvariable]] &amp;lt;code&amp;gt;EXINIT&amp;lt;/code&amp;gt; übernommen.&lt;br /&gt;
&lt;br /&gt;
Oft wird die Funktionalität von &amp;lt;code&amp;gt;ex&amp;lt;/code&amp;gt; durch andere Programme zur Verfügung gestellt, z.&amp;amp;nbsp;B. von [[vim]]. Dann ändern sich die Dateinamen für die Einstellungen oder es werden zusätzliche Dateien ausgewertet (z.&amp;amp;nbsp;B. &amp;lt;code&amp;gt;/etc/vim/vimrc&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$HOME/.vimrc&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;./.vimrc)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Interaktive und nicht interaktive Verwendung ===&lt;br /&gt;
Auch wenn &amp;lt;code&amp;gt;ex&amp;lt;/code&amp;gt; für die interaktive Benutzung gedacht war, ist es doch möglich, dem Programm eine Liste von Befehlen über &amp;lt;code&amp;gt;stdin&amp;lt;/code&amp;gt; (entweder als [[Pipe (Informatik)|Pipeline]] oder als [[Heredoc|Here-Document]]) zur automatisierten Abarbeitung zu übergeben. Dies macht es möglich, den Editor ähnlich wie &amp;lt;code&amp;gt;sed&amp;lt;/code&amp;gt; für automatisierte Änderungen einzusetzen.&lt;br /&gt;
&lt;br /&gt;
Im folgenden Script-Beispiel wird in allen Dateien in &amp;lt;code&amp;gt;/some/where&amp;lt;/code&amp;gt;, deren Name auf &amp;lt;code&amp;gt;txt&amp;lt;/code&amp;gt; endet, in solchen non-interaktiven Editorsessions geändert (und zwar jedes Auftreten von &amp;quot;abc&amp;quot; in den ersten drei Zeilen in &amp;quot;XYZ&amp;quot;). Man beachte, dass, im Unterschied zu &amp;lt;code&amp;gt;sed&amp;lt;/code&amp;gt;, die geänderte Datei nicht erst in eine temporäre Zwischendatei gespeichert und anschließend über das Original kopiert zu werden braucht:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/ksh&lt;br /&gt;
 typeset chSrc=&amp;quot;abc&amp;quot;&lt;br /&gt;
 typeset chRpl=&amp;quot;XYZ&amp;quot;&lt;br /&gt;
 typeset fTgt=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 for fTgt in /some/where/*txt ; do&lt;br /&gt;
      ex - &amp;quot;$fTgt&amp;quot; &amp;lt;&amp;lt;-EOF&lt;br /&gt;
         1,3 s/$chSrc/$chRpl/g&lt;br /&gt;
         w&lt;br /&gt;
      EOF&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
=== Besonderheiten ===&lt;br /&gt;
Auf einigen [[HP-UX]]-Systemen kann &amp;lt;code&amp;gt;ex&amp;lt;/code&amp;gt; auch durch den Befehl &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; (das ist dann ein [[Hardlink]] auf &amp;lt;code&amp;gt;ex&amp;lt;/code&amp;gt;) aufgerufen werden.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* {{man||ex|posix|text editor}}&lt;br /&gt;
* {{man|1|ex|bsd|ex, vi, view – text editors}}&lt;br /&gt;
* [http://manpages.debian.org/cgi-bin/man.cgi?query=ex&amp;amp;sektion=&amp;amp;apropos=0 ex(P)]: text editor – [[Debian]] POSIX Programmer’s Manual&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Freier Texteditor]]&lt;br /&gt;
[[Kategorie:Unix-Software]]&lt;br /&gt;
[[Kategorie:Unix-Betriebssystemkomponente]]&lt;/div&gt;</summary>
		<author><name>80.151.9.165</name></author>
	</entry>
</feed>