Du bist nicht angemeldet.

Eine Antwort schreiben

Schreibe deinen Beitrag und versende ihn
Beitragsoptionen
Deine Antwort

Zurück

Themen-Übersicht (Neuester Beitrag zuerst)

piet
27.08.2010 09:27:50
stefanhusmann schrieb:

Die -i option ist aber m.W. eine gnu-Erweiterung. Klassische sed-Implementierungen können sowas nicht, und da kann dann wieder sponge ins Spiel kommen.

Kann sein, man hat aber bei beidem (GNU sed oder moreutils) das selbe Problem. Ist es installiert super, wenn nicht dann nachholen, also überprüfen musst du es bei der Verwendung von beiden Werkzeugen. wink

cu

stefanhusmann
27.08.2010 09:03:50

Die -i option ist aber m.W. eine gnu-Erweiterung. Klassische sed-Implementierungen können sowas nicht, und da kann dann wieder sponge ins Spiel kommen.

pSub
26.08.2010 15:08:34
Bomb@ schrieb:

Aber bei Pee versteh ich die Aussage nicht von wg. für Pipes funktioniert. Was meinst du damit?

Pee leitet eine Pipe an mehrere Programm weiter. Ein einfaches beispiel

echo "Hello World" | pee cat cat

leitet "Hello World" an beide Instanzen von cat weiter. Mehr Beispiele findest du auf serverfault.com [1].

[1] http://serverfault.com/questions/96245/ … reutils-do


runiq schrieb:

Die moreutils sind klasse, aber das, was du mit sponge anstellst, kann man auch mit sed -i erreichen, wenn ich das Ganze nicht falsch verstehe.

Du hast Recht! Keine Ahnung warum ich da sed hingeschrieben habe, eigentlich sollte da sowas wie grep -ve 'pattern' file stehen. Wobei man das natürlich auch mit sed lösen könnte.

bernarcher
26.08.2010 14:34:44

Danke für den Tipp! Ich hatte diese Tools früher schonmal in meinem LFS-System, konnte mich aber partout nicht mehr darauf besinnen, wie die Tools hießen und woher ich sie bekommen hatte.

(So eine Art Senilität bei fortgeschrittenem Alter, nehme ich an. sad )

runiq
26.08.2010 14:15:33
pSub schrieb:

Jeder der schon einmal z.B. mit sed eine Datei bearbeiten wollte und das Ergebnis dann gleich wieder in der gleichen Datei speichern wollte, wird sponge mögen. Sponge ließt Daten die ihm über eine Pipe übergeben werden und "saugt" diese in sich auf, um sie, wenn der Datenstrom aufhört in eine Datei zu schreiben.

Die moreutils sind klasse, aber das, was du mit sponge anstellst, kann man auch mit sed -i erreichen, wenn ich das Ganze nicht falsch verstehe.

Bomb@
26.08.2010 14:02:46

Olla,

also Vipe hört sich sehr interessant an!

Aber bei Pee versteh ich die Aussage nicht von wg. für Pipes funktioniert. Was meinst du damit?

Grüßle

pSub
26.08.2010 13:54:24

Ich möchte ein bisschen Werbung für das Paket moreutils [1] machen, welches im Community-Repo verfügbar ist und zumindest in meinem Umfeld weitgehend Unbekannt ist. Moreutils ist eine Sammlung von kleinen, nützlichen Programmen, die in der Standard-Toolchain fehlen.

Zwei aus meiner Sicht besonders nützliche Tools sind sponge und vipe. Jeder der schon einmal z.B. mit sed eine Datei bearbeiten wollte und das Ergebnis dann gleich wieder in der gleichen Datei speichern wollte, wird sponge mögen. Sponge ließt Daten die ihm über eine Pipe übergeben werden und "saugt" diese in sich auf, um sie, wenn der Datenstrom aufhört in eine Datei zu schreiben. Nun können wir statt Konstrukte wie:

sed ... file > file

zu verwenden, die eine leere Datei erzeugen, sponge verwenden:

sed ... file | sponge file

Vipe ist ein Programm, dass sich zwischen eine Pipe klemmt und dort den in $EDITOR angeben Editor startet. Mit diesem kann man dann die Daten bearbeiten, bevor sie weitergeleitet werden. Auch hier ein kleines Anwendungsbeispiel. Wir wollen uns einen Hexeditor aus xxd, vipe und sponge bauen. Dazu können wir mit xxd einen Hexdump erstellen und diesen mit vipe bearbeiten, das Ergebniss mit xxd -r wieder zurückwandeln und mit sponge speichern:

xxd file | vipe | xxd -r | sponge file

Es gibt noch mehr interessante Tools, wie vidir, mit dem man Ordner mit dem bevorzugten Texteditor erstellen, bearbeiten oder löschen kann. Auch sehr nützlich ist pee, das ähnlich wie tee funktioniert, jedoch für pipes funktioniert.

Ich habe jedenfalls viel Spaß mit moreutils! Ich hoffe ihr habt etwas neues kennen gelernt und habt damit genauso viel Spaß wie ich  smile


[1] http://joey.kitenet.net/code/moreutils/

Fußzeile des Forums

Powered by FluxBB