ed: Unterschied zwischen den Versionen

Aus Mikiwiki
Wechseln zu: Navigation, Suche
(Weblinks)
(Verwendung)
Zeile 12: Zeile 12:
 
  q  
 
  q  
 
  ' | ed file
 
  ' | ed file
 +
 +
Mit folgendem Befehl innerhalb eines Skripts wird in der Datei "test.txt" die Zeichenfolge "ABC" am Zeilenanfang durch die Zeichenfolge "DER" ersetzt.
 +
 +
ed - test.txt <<EOF-EOF-EOF
 +
1,$ s/^ABC/DER/
 +
w
 +
q
 +
EOF-EOF-EOF
  
 
Mit Befehlen der folgenden Art sollen zusätzliche Zeilen eingefügt werden können (was [[sed]] nicht kann). Ich habe mich allerdings nicht damit beschäftigt, wie das genau funktioniert.
 
Mit Befehlen der folgenden Art sollen zusätzliche Zeilen eingefügt werden können (was [[sed]] nicht kann). Ich habe mich allerdings nicht damit beschäftigt, wie das genau funktioniert.

Version vom 12. Januar 2010, 17:42 Uhr

Der Texteditor ed ist auf allen Unix- oder Unix-ähnlichen Systemen verfügbar. ed kann interaktiv oder innerhalb eines Shell-Skripts für Bearbeitungen von Textdateien verwendet werden und arbeitet zeilenorientiert: Die Textbearbeitung bezieht sich immer auf eine Zeile oder eine Auswahl von Zeilen. Beim interaktiven Gebrauch stellt ed nur eine Zeile zur Bearbeitung zur Verfügung, es ist also nicht möglich, sich vertikal durch den Text zu bewegen.

Der nicht interaktive Zeichenstromeditor sed beerbte den ed in einer seiner Grundfunktionen und baute sie aus, der zeilenorientierte Editor ex (der die Grundlage des vi bildet) wurde durch ed inspiriert.

Inhaltsverzeichnis

Verwendung

Im folgenden Beispiel wird ed interaktiv auf die Datei "file" angewandt. Von der ersten bis zur letzten Zeile: Ersetze jede Zeichenfolge " vi" durch die Zeichenfolge " ex". Schreibe die bearbeitete Datei zurück. Beende.

$ echo '
1,$s/ vi/ ex/g
w
q 
' | ed file

Mit folgendem Befehl innerhalb eines Skripts wird in der Datei "test.txt" die Zeichenfolge "ABC" am Zeilenanfang durch die Zeichenfolge "DER" ersetzt.

ed - test.txt <<EOF-EOF-EOF
1,$ s/^ABC/DER/
w
q
EOF-EOF-EOF

Mit Befehlen der folgenden Art sollen zusätzliche Zeilen eingefügt werden können (was sed nicht kann). Ich habe mich allerdings nicht damit beschäftigt, wie das genau funktioniert.

DATABASE=sisis
for tabName in koe_daten koe_kette
  do
  rm -f /tmp/line.$$ /tmp/creat.$$ /tmp/index.$$ /tmp/error.$$
  ed -s $DATABASE.sql << EOF-EOF-EOF > /dev/null
  1
  /TABLE.*$tabName /
  +,+w /tmp/line.$$
  q
EOF-EOF-EOF
  done
ed -s /home/sisis/sql/sikis/$tabName.sql << EOF-EOF-EOF > /dev/null
  1
  /^;/
  1,.w /tmp/creat.$$
  +,\$w /tmp/index.$$
  q
EOF-EOF-EOF

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen