如何将 CSH 脚本的输出发送到文本编辑器?

如何将 CSH 脚本的输出发送到文本编辑器?

我在工作中发现了一个很酷的 CSH 脚本,它使对 Postgres 的常用查询更加友好 --- 除了它将输出转储到 shell 之外。这是生成输出的脚本部分:

psql "select datauri from grid where datauri like '%${1}%'" | awk -F '/' '{print $3 "\t" $4 "\t" $7 "\t" $8 "\t" $9 "\t" $10 "\t" $11}'

脚本的名称是“DB”

我尝试将此输出直接发送到文本编辑器,以使输出更易于处理:

$ db get stuff | emacs -nw

我只得到一个空白的 emacs ( vi 或 gedit )。

有什么方法可以改变脚本或者其他东西,将输出直接发送到文本编辑器而不是仅仅发送到 shell?

答案1

使用vim,您可以执行以下操作:

$ db get stuff | vim -

告诉从标准-输入vim读取其文本输入。

答案2

实际上,您可以在 emacs 中运行脚本,它会为其输出创建一个新的缓冲区。只需使用M-!(运行shell-command),指定命令,然后切换到*Shell Command Output*缓冲区即可。

答案3

通过 vim 的 'r' 命令,可以将命令的输出插入到特定的行,如:10r !db get stuff。'10r' 插入到第 11 行,'!' 获取以下命令的输出。

相关内容