Alternativa taquigráfica para encontrar

Alternativa taquigráfica para encontrar

¿Existe alguna alternativa findsimilar a agy ack?

Estoy realmente cansado de tener que escribir:

find some/app -iname "some_file*"

Prefiero simplemente escribir:

find "some_file*"

Y haga que busque la carpeta actual y de forma recursiva en todas las subcarpetas.

Respuesta1

Para eso están las funciones o scripts. p.ej

myfind() {
    search="$1"
    shift
    find . -iname "$search" "$@"
}

El "$@"final le permite seguir especificando otras opciones de búsqueda si lo desea. Tenga en cuenta, sin embargo, que findes bastante exigente con el orden de algunas opciones, algunas opciones sólo funcionan si van antes de la ruta ( .en este caso).

Algunos se findquejan de que están detrás de un argumento que no es una opción.

por ejemplo, find . -iname "*.txt" -maxdepth 1provoca el siguiente gemido:

buscar: advertencia: ha especificado la opción -maxprofundidad después de un argumento que no es una opción -iname, pero las opciones no son posicionales (-maxprofundidad afecta las pruebas especificadas antes y después). Especifique las opciones antes de otros argumentos.

AFAIK, no hay ninguna opción para desactivar estas advertencias... o si la hay, no se llama --quieto --silent.

De todos modos, guarde la función anterior en un archivo de texto, por ejemplo myfind.txt. Luego consíguelo con:

. myfind.txt.

Si desea que se defina en cada inicio de sesión, agregue la definición de función a su ~/.profileo ~/.bash_profile, o fuente myfind.txtde ellos.

Esto supone que estás usando un shell Bourne como sho bash. Tenga en cuenta que algunas versiones de shpueden requerir la palabra clave functionantes myfind, por ejemplo function myfind() { ... }. Si estás usando cshor tcsh, entonces... bueno... no lo hagas, cambia a un shell Bourne.

información relacionada