¿Cómo se puede pasar la salida estándar al último comando?

¿Cómo se puede pasar la salida estándar al último comando?

Estoy intentando realizar una búsqueda locatesolo en el directorio actual, para ello estoy utilizando el siguiente enfoque:

locate file | pwd | xargs grep 

El problema es que los resultados de la localización se pierden en un grep. ¿Cómo se puede hacer esto para trabajar? ¿Es posible?

Respuesta1

El lugar de pwdno es correcto. Puedes probarlo así:

locate file |  xargs grep `pwd`

pero ¿por qué no usar solols

ls|grep file

Respuesta2

Cuando busco archivos y carpetas, prefiero elencontrarcomando, porque es más flexible.

#to search only in the current folder (without going to subfolders)
find "$(pwd)" -maxdepth 1 -name "*file*"

#to search in the current folder and subfolders
find "$(pwd)" -name "*file*"

Tenga en cuenta que find "$(pwd)"se utiliza para imprimir la ruta completa de lo que devuelve la búsqueda. Puede usar find ., si desea una ruta relativa a su carpeta actual.

Si no se encontró nada, intente usar -inameen su lugar.

información relacionada