echo Hello World | nano - | less
Ich möchte Hallo -> Auf Wiedersehen im Texteditor ändern.
Es muss nicht mit Nano sein. Ich bin mit Nano-Lesen festgefahren, aber ich muss in eine Datei schreiben (Schreiben in - erstellt eine Datei mit dem Namen -)
Antworten:
Das moreutils- Paket hat dafür einen großartigen Befehl namens
vipe
. Von der Manpage:Standardmäßig wird der
editor
Befehl verwendet, der normalerweise nur ein Symlink zum Standard-Befehlszeileneditor ist. Sie können dies ändern, indem Sie entweder den Link ändern (Verwendungupdate-alternatives
auf Debian-basierten Systemen) oder dieEDITOR
Umgebungsvariable verwenden. ZB könnten Sie tun:Andernfalls, wenn der jeweilige Texteditor diese Art von Dingen nicht unterstützt, müssen Sie wahrscheinlich keine temporäre Datei manuell erstellen, die Datei darauf schreiben, den Editor ausführen, die Datei in den Rest der Pipeline eingeben und Entfernen der temporären Datei. Der
vipe
Befehl kümmert sich im Wesentlichen um all dies. Das ist schön, aber der Befehl ist standardmäßig selten verfügbar.quelle
Der Texteditor Joe (auch bekannt als Joes eigener Editor ) macht, was Sie wollen.
Der Befehl
echo "hello world" | joe - | less
funktioniert wie erwartet, obwohl er aus irgendeinem Grund die Anführungszeichen benötigt.Einige Befehle (z. B. gpg) erzeugen eine angezeigte Ausgabe, die nicht in die Pipe gelangt. Dies korrumpiert die anfängliche Anzeige innerhalb von Joe, aber wenn Sie Strg + R - Aktualisieren - drücken, werden die Dinge bereinigt.
quelle
Wenn Sie nur "Hallo" durch "Auf Wiedersehen" (oder einen anderen Wortersatz) ersetzen möchten, können Sie die manuelle Bearbeitung in einem Editor zugunsten des automatischen Such- und Ersetzungswerkzeugs vermeiden. Zum Beispiel kann "sed" solche Ersetzungen wie folgt durchführen:
Überprüfen Sie "man sed" für weitere Details.
quelle