Por exemplo eu entro
cat /very/long/path/textfile
e logo depois decido dar o próximo comando
rm /very/long/path/textfile
Então, minha pergunta é: Qual é a maneira mais fácil/rápida de substituir a primeira palavra de um comando anterior? (sem teclas de seta ou copiar e colar)
Deve funcionar para qualquer comando (cat, rm e textfile são apenas para este exemplo, não precisa ser esses)
Responder1
Supondo que você esteja executando um shell com um mecanismo de histórico padrão (por exemplo, bash, shell C,…), digite o novo comando (por exemplo, rm
) seguido por !*
. Digite man bash
, man csh
, ou o que for apropriado para você, para ver mais detalhes (e hágrande quantidadedeles).
Responder2
Se estiver usando o bash, você pode digitar <Esc>_
para obter o último argumento do comando anterior. Você também pode usar a variável $_
.
Outra abordagem seria recuperar o comando anterior com Ctrl-P
, usar Ctrl-A
para ir para o início do comando e, Alt-D
para excluir a primeira palavra, digitar a nova primeira palavra (o nome do comando) e pressionar Enter.
Responder3
Se você estiver usando bash ou sh, você pode digitar o primeiro comando e pressionar "Alt" com "." (Ponto) para obter o último argumento do comando anterior.
cat /very/long/path/textfile
para usar o último argumento do tipo de comando anterior
rm "Alt+." e você consegue
rm /very/long/path/textfile