GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo mostrar el resultado de grep con la ruta completa o el nombre del archivo

Suponiendo que tiene dos archivos de registro en:

  • C:/temp/my.log
  • C:/temp/tambiénMi.log

cd a C:y use:

grep -r somethingtosearch temp/*.log

Te dará una lista como:

temp/my.log:somethingtosearch
temp/alsoMy.log:somethingtosearch1
temp/alsoMy.log:somethingtosearch2

Caí aquí cuando estaba buscando exactamente el mismo problema y tal vez pueda ayudar a otros.

Creo que la verdadera solución es:

cat *.log | grep -H somethingtosearch

Si desea ver las rutas completas, le recomendaría cd al directorio superior (de su unidad si usa Windows)

cd C:\
grep -r somethingtosearch C:\Users\Ozzesh\temp

O en Linux:

cd /
grep -r somethingtosearch ~/temp

si realmente se resiste a filtrar el nombre de su archivo (*.log) Y desea recursive (los archivos no están todos en el mismo directorio), combinando find y grep es la forma más flexible:

cd /
find ~/temp -iname '*.log' -type f -exec grep somethingtosearch '{}' \;

Linux
  1. ¿Cómo escribir la ruta de una carpeta con espacio en su nombre?

  2. ¿Cómo mostrar la ruta completa de un archivo o directorio en la terminal?

  3. Cómo vaciar un archivo de registro en Linux

  4. Cómo cambiar la ruta del archivo de registro auditd /var/log/audit/audit.log

  5. Cómo grep con salida de color

Cómo encontrar una cadena en un archivo en Linux

Grep ¿Cómo suprimir la visualización de archivos no coincidentes?

¿Cómo obtener solo el nombre del archivo con Linux 'buscar'?

¿Cómo crear un archivo en Linux desde la ventana de terminal?

Cómo grep \n en el archivo

¿Cómo puedo buscar un archivo por su nombre y ruta parcial?