Usar texto previamente impreso en un comando

Usar texto previamente impreso en un comando

A menudo tendré un comando de terminal que genera algunos comandos sugeridos para ejecutar a continuación, o una ruta de archivo entre la salida de texto de varias líneas.

Quiero poder reutilizar la ruta del archivo o el comando.

P.ej

$ 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

Respuesta1

Básicamente, esto significaría registrar sesiones completas de terminal para capturar la información que desea.

Para hacer eso, puede usar el programa script(por ejemplo, ponerlo script /tmp/myuseronlyreadablefileen su .zshrc, o mejorar su mensaje para usarlo scripten esta línea de entrada en el mismo archivo de registro una y otra vez, analizándolo inmediatamente después), y luego analizaría el archivo generado. archivo de registro (filtro de salida para todas las rutas) para un widget que configuró finalización automática de zsh.

No estoy seguro de qué inconvenientes puede tener el uso de 'script' y cuánto esfuerzo significará para usted en comparación con el viejo 'script'.marcar cualquier texto con el mouse y simplemente insertarlo inmediatamente con un clic en la rueda del mouse'funcionalidad.

Respuesta2

Los multiplexores de terminal como tmuxy screenadmiten copiar y pegar desde la sesión, pero si desea hacer esto sin uno, o automáticamente, puede usar teepara enviar la salida a un archivo temporal y usar cuty sed/o greppara compilar (y luego ejecutar ) dicho comando.

Sin embargo, como parece que estás usando OSX, simplemente puedes resaltar el texto y presionar ⌘C para copiar y ⌘V para pegar. (A menos que estés sshdentro)

información relacionada