Use texto impresso anteriormente em um comando

Use texto impresso anteriormente em um comando

Freqüentemente, terei um comando de terminal que gera alguns comandos sugeridos para execução a seguir, ou um caminho de arquivo entre a saída de texto de várias linhas.

Quero poder reutilizar o caminho do arquivo ou o comando.

Por exemplo

$ 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

Responder1

Basicamente, isso significaria registrar sessões inteiras do terminal para capturar as informações desejadas.

Para fazer isso, você poderia usar o programa script(por exemplo, colocar script /tmp/myuseronlyreadablefileem seu .zshrc, ou aprimorar seu prompt para usar scriptnesta linha de entrada no mesmo arquivo de log repetidas vezes, analisando-o imediatamente depois disso), e então analisaria o gerado log (filtrar a saída para todos os caminhos) para um widget que você definiu para conclusão automática zsh.

Não tenho certeza de quais desvantagens o uso de 'script' pode ter e quanto esforço isso significará para você em comparação com o bom e velho 'marque qualquer texto com o mouse e simplesmente insira-o imediatamente com um clique na roda do mouse'funcionalidade.

Responder2

Multiplexadores de terminal como tmuxe screensuportam copiar e colar da sessão, mas se você quiser fazer isso sem um, ou automaticamente, você pode usar teepara enviar a saída para um arquivo temporário e usar cute sed/ou greppara construir (e então executar ) disse o comando.

No entanto, como parece estar usando o OSX, você pode simplesmente destacar o texto e pressionar ⌘C para copiar e ⌘V para colar. (A menos que você esteja sshdentro)

informação relacionada