[beantwortet] Eine Frage zu ed

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
heinz
Beiträge: 535
Registriert: 20.12.2007 01:43:49

[beantwortet] Eine Frage zu ed

Beitrag von heinz » 24.11.2009 23:08:17

Hallo Zusammen,

ich hab mir neulich das Video "Softwareschätze" angesehen und bin seitdem begeistert von ed.
http://ulm.ccc.de/ChaosSeminar/2009/10_Softwareschaetze
@Meillo Ich fand das Video klasse!

Das es einen von "aussen" steuerbaren Editor gibt (und schon so lange) wusste ich garnicht.
Meine ersten Ergebnisse sind auch sehr ermutigend, eine Frage hab ich jedoch.
Wenn ich ed von "aussen" steuere mach ich das bis jetzt so:
z.B.
Aufgabe:
Letztes komma in der vorletzten Zeile entfernen und datei speichern
Lösung:

Code: Alles auswählen

echo -e "$-1s/,$//\nw"|ed textdatei.txt
Nun meine Frage: Das >\n< als trenner erscheint mir etwas seltsam.
Ist das korrekt so oder gibt es eine bessere möglichkeit mehrere Befehle zu trennen?
(hab schon >; < und > < usw. versucht, ohne Erfolg...)

Wie sieht Euer Code aus wenn (falls) Ihr sowas macht?

gruß heinz
Zuletzt geändert von heinz am 26.11.2009 18:41:46, insgesamt 1-mal geändert.

Benutzeravatar
Meillo
Moderator
Beiträge: 9254
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Eine Frage zu ed

Beitrag von Meillo » 24.11.2009 23:15:58

heinz hat geschrieben:ich hab mir neulich das Video "Softwareschätze" angesehen und bin seitdem begeistert von ed.
http://ulm.ccc.de/ChaosSeminar/2009/10_Softwareschaetze
@Meillo Ich fand das Video klasse!
Super! :-D
Wenn ich ed von "aussen" steuere mach ich das bis jetzt so:

Code: Alles auswählen

echo -e "$-1s/,$//\nw"|ed textdatei.txt
Der bessere Weg ist ein Here-Dokument:

Code: Alles auswählen

ed -s file <<EOF
$-1s/,$//
w
q
EOF
Und `-s' damit keine Statusausgaben gemacht werden.


(btw: Mit deinem Befehl ersetzst du das Komma am Ende, nicht das letzte Komma der Zeile. Weiß nicht wie man das mit ed realisieren soll, außer man weiß wieviele Kommas in der Zeile sind.)
Use ed once in a while!

Benutzeravatar
heinz
Beiträge: 535
Registriert: 20.12.2007 01:43:49

Re: Eine Frage zu ed

Beitrag von heinz » 25.11.2009 20:14:14

Hallo Meillo,

danke für den Tipp.
Der ist auch bestens geeignet die Übersicht zu behalten wenn die Eingaben mal grösser werden.

Mittlerweile ist auch noch eine weitere Frage aufgetaucht:
Ich verstehe den Sinn und Zweck des Befehls command bzw. !command nicht so ganz.
(Bin leider des Englischen nicht so mächtig... :oops: )
O.K., ich kann damit befehle ausführen aber kann ich die Rückgabe des Befehls auch direkt
weiterverwenden? z.B. mit dem kommando ls eine Liste des aktuellen verzeichnisses in den Text
übernehmen. Das klappt bei mir irgendwie nicht...
Aber wenn das nicht geht, wozu braucht man das dann? Oder ist das noch ein überbleibsel aus
früheren Zeiten mit nur einem Terminal?

gruß heinz

Benutzeravatar
Meillo
Moderator
Beiträge: 9254
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Eine Frage zu ed

Beitrag von Meillo » 25.11.2009 23:07:14

heinz hat geschrieben:Ich verstehe den Sinn und Zweck des Befehls command bzw. !command nicht so ganz.
(Bin leider des Englischen nicht so mächtig... :oops: )
O.K., ich kann damit befehle ausführen aber kann ich die Rückgabe des Befehls auch direkt
weiterverwenden? z.B. mit dem kommando ls eine Liste des aktuellen verzeichnisses in den Text
übernehmen. Das klappt bei mir irgendwie nicht...

Code: Alles auswählen

r !ls
Aber wenn das nicht geht, wozu braucht man das dann?
Das beste Beispiel ist der Aufruf von make.
Use ed once in a while!

Benutzeravatar
heinz
Beiträge: 535
Registriert: 20.12.2007 01:43:49

Re: Eine Frage zu ed

Beitrag von heinz » 26.11.2009 18:41:20

Hallo Meillo,

klasse! Danke.
Ich werde ed jetzt wesentlich öfter in skripten verwenden. (macht sogar richtig Spass :D )
Danke für die Inspiration... :hail:


@all
Wers noch nicht kennt, ed ist ein super Programm. Anschauen lohnt sich wirklich!
Und das hier ist ein super Forum, hab hier schon eine Menge nützliches, viel Hilfe und
eine menge netter Leute "gesehen".

Schönen Abend noch...
gruß heinz

Benutzeravatar
Meillo
Moderator
Beiträge: 9254
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Eine Frage zu ed

Beitrag von Meillo » 26.11.2009 18:49:15

heinz hat geschrieben: klasse! Danke.
Ich werde ed jetzt wesentlich öfter in skripten verwenden. (macht sogar richtig Spass :D )
Danke für die Inspiration...
Gern geschehen. Glaub mir, ich freue mich über diese Worte von dir noch viel mehr als du dich über meine Hilfe freust. :-D

:hail:
Aber lass das Verbeugen!

@all
Wers noch nicht kennt, ed ist ein super Programm. Anschauen lohnt sich wirklich!
Und das hier ist ein super Forum, hab hier schon eine Menge nützliches, viel Hilfe und
eine menge netter Leute "gesehen".
Das kann ich unverändert unterschreiben.
Use ed once in a while!

chrisbra
Beiträge: 122
Registriert: 19.10.2005 09:36:09
Wohnort: Sachsen-Anhalt
Kontaktdaten:

Re: Eine Frage zu ed

Beitrag von chrisbra » 26.11.2009 20:16:11

heinz hat geschrieben: Mittlerweile ist auch noch eine weitere Frage aufgetaucht:
Ich verstehe den Sinn und Zweck des Befehls command bzw. !command nicht so ganz.
(Bin leider des Englischen nicht so mächtig... :oops: )
O.K., ich kann damit befehle ausführen aber kann ich die Rückgabe des Befehls auch direkt
weiterverwenden? z.B. mit dem kommando ls eine Liste des aktuellen verzeichnisses in den Text
übernehmen. Das klappt bei mir irgendwie nicht...
:r !ls
Das funktioniert übrigens auch im Vi(m). Ich nutze das oft, um z.B. das Datum einzufügen, oder ein Verzeichnislisting oder einfach um eine Kommandozeile auszuführen.
Meine Whishlist
:wq!

Benutzeravatar
heinz
Beiträge: 535
Registriert: 20.12.2007 01:43:49

Re: Eine Frage zu ed

Beitrag von heinz » 27.11.2009 21:30:05

@Meillo
:hail:
Aber lass das Verbeugen!
Ich weis nicht...
Irgendwie muß man Jemandem doch danken, das er seine Freizeit "opfert" um anderen zu helfen,
oder Kurse abhält um anderen Leuten sein Wissen weiter zu geben... So sebstverständlich ist das nicht.
(O.K. villeicht sollte man mal über ein anderes Icon dafür reden... :wink: )

@chrisbra
Von vi hab ich auch schon oft gehört. Soll ja DIE "Eierlegende Wollmilchsau" schlechthin sein.
Mich schreckt noch die sehr gewöhnungsbedürftige Bedienung ab.
Über ein paar Zeilen ändern und dann speichern bin ich noch nicht rausgekommen...
(Villeicht wirds ja noch...)

gruß heinz

Benutzeravatar
Meillo
Moderator
Beiträge: 9254
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Eine Frage zu ed

Beitrag von Meillo » 27.11.2009 21:52:29

heinz hat geschrieben:(O.K. villeicht sollte man mal über ein anderes Icon dafür reden... :wink: )
Darum ging's mir.

@chrisbra
Von vi hab ich auch schon oft gehört. Soll ja DIE "Eierlegende Wollmilchsau" schlechthin sein.
Mich schreckt noch die sehr gewöhnungsbedürftige Bedienung ab.
Über ein paar Zeilen ändern und dann speichern bin ich noch nicht rausgekommen...
(Villeicht wirds ja noch...)
Du kannst den vi ja auch über den ex-Modus bedienen. Oder anders gesagt: vi ist ja nur ein grafisches Frontend für ex. Und ex ist ein extended ed. Somit solltest du dich gleich wohl fühlen. ;-)

Bloß mit der Eierlegenden Wollmilchsau verwechselst du was, das ist Emacs. Vi ist nur der beste bildschirmorientierte Editor.
Use ed once in a while!

chrisbra
Beiträge: 122
Registriert: 19.10.2005 09:36:09
Wohnort: Sachsen-Anhalt
Kontaktdaten:

Re: Eine Frage zu ed

Beitrag von chrisbra » 28.11.2009 21:22:03

heinz hat geschrieben:@chrisbra
Von vi hab ich auch schon oft gehört. Soll ja DIE "Eierlegende Wollmilchsau" schlechthin sein.
Mich schreckt noch die sehr gewöhnungsbedürftige Bedienung ab.
Über ein paar Zeilen ändern und dann speichern bin ich noch nicht rausgekommen...
(Villeicht wirds ja noch...)
Wenn man sich mal an vim gewöhnt hat, dann ist er ziemlich genial. Und mittlerweile hätte ich mit einem plain vi wirklich Probleme. Der Vorteil von vim liegt meiner Meinung nach in der Scripting-Fähigkeiten, der umfangreichen Hilfe (Ich habe noch nie ein Programm gesehen, welches so gut dokumentiert ist), die erweiterten RegExe, Split-Windows, Syntax-Highlighting, eine super Community, der Undo-Fähigkeiten, ein Haufen Plugins, ach und erwähnte ich die RegExe schon? ;)

Das Problem wenn man sich mal an vi gewöhnt hat ist, in anderen Editoren drücke ich ständig ESC ;)

Ansonsten läuft Vim bei mir überall (Windows und Linux, beruflich und privat), der geht bei mir echt fix.
Meine Whishlist
:wq!

Antworten