在命令中使用先前打印的文本

在命令中使用先前打印的文本

通常,我会使用一个终端命令来输出一些接下来要运行的建议命令,或多行文本输出中的文件路径。

我希望能够重新使用文件路径或命令。

例如

$ nativefier --name "Asana Personal" "https://app.asana.com"
Packaging app for platform darwin x64 using electron v1.6.6
App built to /Users/Vaughan/Asana Personal-darwin-x64


$ cd /Users<press-tab>/Vaughan/Asana Personal-darwin-x64


$ brew info postgres
...
If builds of PostgreSQL 9 are failing and you have version 8.x installed,
you may need to remove the previous version first. See:
  https://github.com/Homebrew/legacy-homebrew/issues/2510

To migrate existing data from a previous major version (pre-9.0) of PostgreSQL, see:
  https://www.postgresql.org/docs/9.6/static/upgrading.html

To migrate existing data from a previous minor version (9.0-9.5) of PostgreSQL, see:
  https://www.postgresql.org/docs/9.6/static/pgupgrade.html

  You will need your previous PostgreSQL installation from brew to perform `pg_upgrade`.
  Do not run `brew cleanup postgresql` until you have performed the migration.

To have launchd start postgresql now and restart at login:
  brew services start postgresql
Or, if you don't want/need a background service you can just run:
  pg_ctl -D /usr/local/var/postgres start


$ pg ctl<press-tab>-D /usr/local/var/postgres start

答案1

这基本上意味着记录整个终端会话以捕获您想要的信息。

为此,您可以使用该程序script(例如,放入script /tmp/myuseronlyreadablefile您的,或增强您的提示,以便一次又一次地在同一日志文件上的这一行输入上.zshrc使用,之后立即解析它),然后您将解析生成的script您设置的小部件的日志文件(过滤所有路径的输出) zsh 自动补全

我不确定使用“脚本”可能有哪些缺点,以及与旧的“脚本”相比,这对您意味着多少努力用鼠标标记任何文本,然后只需单击鼠标滚轮即可立即插入' 功能。

答案2

终端多路复用器例如tmuxscreen支持从会话中复制和粘贴,但如果您想在没有终端多路复用器的情况下或自动执行此操作,则可以使用tee将输出发送到临时文件,并使用cut,sed和/或grep构建(然后运行)说命令。

但是,由于您似乎使用的是 OSX,因此您只需突出显示文本,然后按 ⌘C 进行复制,按 ⌘V 进行粘贴。 (除非你ssh在)

相关内容