我在工作中发现了一个很酷的 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 行,'!' 获取以下命令的输出。