Por ejemplo yo entro
cat /very/long/path/textfile
y justo después decido dar el siguiente comando
rm /very/long/path/textfile
Entonces, mi pregunta es: ¿Cuál es la forma más fácil/rápida de reemplazar la primera palabra de un comando anterior? (sin teclas de flecha ni copiar y pegar)
Debería funcionar para cualquier comando (cat, rm y textfile son solo para este ejemplo, no tienen que ser esos)
Respuesta1
Suponiendo que está ejecutando un shell con un mecanismo de historial estándar (por ejemplo, bash, shell C,...), escriba el nuevo comando (por ejemplo, rm
) seguido de !*
. Escriba man bash
, man csh
o lo que sea apropiado para usted, para ver más detalles (y haylotesde ellos).
Respuesta2
Si estás usando bash, puedes escribir <Esc>_
para obtener el último argumento del comando anterior. También puedes usar la variable $_
.
Otro enfoque sería recuperar el comando anterior con Ctrl-P
, luego usar Ctrl-A
para ir al inicio del comando, luego Alt-D
eliminar la primera palabra, escribir la nueva primera palabra (el nombre del comando) y presionar Enter.
Respuesta3
Si está utilizando bash o sh, puede escribir el primer comando y luego presionar "Alt" con "." (Punto) para obtener el último argumento del comando anterior.
cat /very/long/path/textfile
para usar el último argumento del tipo de comando anterior
rm "Alt+." y obtienes
rm /very/long/path/textfile