Terminal: volver a ejecutar un comando sustituyendo un término

Lo que vamos a hacer es sustituir parte de ese comando por otro contenido, volviéndose a ejecutar inmediatamente con la sustitución.

Pongamos un ejemplo.

Imagina que estás trabajando con rutas iguales que están almacenadas en diferentes unidades de almacenamiento. Esto es solo un ejemplo, porque puedes aplicar esta sustitución de texto en cualquier tipo de comando.

Así que accedes a una carpeta que está ubicada en tu disco duro usando (es un comando corto, pero nos sirve de ejemplo):

cd /Volumes/Macintosh\ HD/pictures

Imagina ahora que quieres saltar a esa misma carpeta, pero en otro disco duro. En lugar de recrear toda la ruta usamos:

^Macintosh\ HD^Otro\ disco^

E inmediatamente se ejecutará el comando anterior reemplazando Macintosh HD por el nombre del «Otro disco»

Esto funciona en todo el contenido del comando, por ejemplo:

ps -ef | grep nginx | awk '{print $2}' 
^nginx^apache^
 ps -ef | grep apache | awk '{print $2}'

Si quieres reemplazar todas las ocurrencias de una cadena de texto en un comando, entonces debes añadir al final del mismo :&

Por ejemplo:

^Macintosh\ HD^Otro\ disco^:&

De forma que todas las ocurrencias de Macintosh HD en un comando se sustituirán por Otro disco.

Deja una respuesta