Wie sende ich die Ausgabe des CSH-Skripts an einen Texteditor?

352
user787832

Ich habe bei der Arbeit ein ziemlich cooles CSH-Skript gefunden, das eine häufig verwendete Abfrage an Postgres etwas freundlicher macht - außer, dass die Ausgabe in die Shell ausgegeben wird. Dies ist der Teil des Skripts, der die Ausgabe generiert:

psql "select datauri from grid where datauri like '%$%'" | awk -F '/' '' 

Der Name des Skripts lautet "DB".

Ich habe versucht, diese Ausgabe direkt an einen Texteditor zu senden, um die Ausgabe einfacher zu gestalten:

$ db get stuff | emacs -nw 

Ich bekomme nur eine leere Emacs (vi oder gedit).

Gibt es eine Möglichkeit, das Skript oder etwas anderes zu ändern, damit die Ausgabe direkt an einen Texteditor und nicht nur an die Shell gesendet wird?

0

3 Antworten auf die Frage

2
garyjohn

Mit vimkönnen Sie folgendes tun:

$ db get stuff | vim - 

Der -Befehl vimsoll seine Texteingabe von stdin lesen.

1
choroba

Sie können das Skriptformular tatsächlich mit emacs ausführen, und es würde einen neuen Puffer für die Ausgabe erstellen. Verwenden Sie einfach M-!(was ausgeführt wird shell-command), geben Sie den Befehl an und wechseln Sie dann zum *Shell Command Output*Puffer.

0
Nizam Mohamed

Mit dem 'r'-Befehl von vim kann die Ausgabe eines Befehls in eine bestimmte Zeile eingefügt werden :10r !db get stuff. '10r' fügt in die 11. Zeile ein und '!' ruft die Ausgabe des folgenden Befehls ab.