Cuando presiono tab en una consola obtengo esta salida
¿Mostrar todas las 2957 posibilidades? (sí o no)
¿Hay alguna forma de usar grep
estas 2957 posibilidades? Me gustaría buscar todos los comandos con la palabra "svn" en ellos.
Cuando presiono tab en una consola obtengo esta salida
¿Mostrar todas las 2957 posibilidades? (sí o no)
¿Hay alguna forma de usar grep
estas 2957 posibilidades? Me gustaría buscar todos los comandos con la palabra "svn" en ellos.
Respuestas:
La solución es el bash incorporado compgen
. Para grep 'svn' de todos los comandos disponibles y los alias de comandos accesibles a través de $PATH
, escriba.
compgen -ac | grep svn
¿Desea buscar desde un determinado prefijo (por ejemplo, todos los comandos que comienzan con ecrypt
)? Usa expresiones regulares. .
compgen -ac | grep "^ecrypt"
Puedes intentar usarlo compgen
.
Por ejemplo:
compgen -ac | grep "svn"
tal vez {,.}*svn*
ayuda aquí, por ejemplo ls -l /usr/bin/{,.}*svn*<tab>
.
Pero, ¡mira el Zsh! Aquí: http://www.jukie.net/bart/blog/zsh-tab-completion son algunos ejemplos excelentes de cómo puede ayudar a reducir los resultados de finalización de pestañas. Esto incluye también la negación, por ejemplo, si desea todos los resultados de finalización de tabulación sin la palabra "foobar", o todos los resultados con dígitos pares en primer lugar, finalización de tabulación subdirectorio y mucho más. La razón por la que cambié a zsh fue compartir la historia entre todos los terminales abiertos.
No conocía compgen, y habría sugerido:
ls -d ${PATH//:/\/*svn* } 2>/dev/null
para bash
${VAR//pattern/replace} replaces in VAR pattern with replace. // is used to replace every pattern, not just the first, which would be just /.