(Noch) Mehr Spaß in der Shell mit moreutils
Published on 26.08.2010Published in linux
Ich möchte ein bisschen Werbung für das Paket moreutils machen, welches im Community-Repo von Arch Linux 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 grep 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:
grep ... file > file
zu verwenden, die eine leere Datei erzeugen, sponge verwenden:
grep ... 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 :)