A menudo he querido esto. Cuando usaba csh (y tcsh), tenía un idioma:
!:88*:p
Este modismo inserta "palabra 88 hasta la última palabra" del comando anterior en el punto donde está escribiendo en la línea de comando actual, que generalmente es el final. En csh, no es un error que dicha expresión no produzca palabras. Es decir, no es necesario que haya una palabra 88, ni ninguna que la siga. Si no hay una palabra 88, esto no agrega palabras al final del comando que se está escribiendo y luego empuja la línea de comando resultante al historial sin ejecución.
Como probablemente sabes,
*! (como !! y! -1) es el comando anterior;
*: 88 es la palabra 88 (la primera palabra, generalmente el comando, es cero) y csh requeriría que exista dicha palabra, pero ...
*: 88 * son todas las palabras que comienzan en la palabra 88, y luego csh hace no requiere que la palabra exista;
*: p significa imprimir, pero no ejecuta la línea de comando.
Con o sin: p, la línea de comando se agrega al historial de comandos.
"¿Por qué 88?" ¿te preguntas? Porque es la misma clave que * Necesitaré. Si tiene comandos por tanto tiempo, tal vez!: 888 *: p es lo que necesita. Lo siento, esto no funciona con bash AFAIK. Bash simplemente dirá
bash: :88*: bad word specifier
Dato curioso: su comando generalmente no necesita ser el primero.
> /tmp/foo echo My command is word 3
es válido en bash y csh.