¿Qué comando, si lo hay, puede ser una buena alternativa al texto sublime en la carpeta?

0

¿Hay alguna forma de encontrar una cadena o frase de forma recursiva en todos los archivos de una carpeta desde la línea de comandos, de modo que la salida sea similar al comportamiento de búsqueda de Sublime Text 2? Al igual que con la ruta del nombre de archivo en el que se ha encontrado la cadena y parte del bloque de texto que la contiene.

user234989
fuente
4
¿Puedes subir una imagen del "comportamiento de búsqueda de Sublime Text 2"?
matan129

Respuestas:

2

Asumiré que está utilizando un sistema * nix. Si solo desea los archivos en la carpeta actual, haga

$ grep -C 3 foo *
bar.txt-This is line one
bar.txt:This is line two, which contains foo
bar.txt-This is line 3

Si también desea realizar un retiro en subcarpetas, use

grep -rC 3 foo

Detalles:

   grep,  egrep,  fgrep,  rgrep - print lines matching a
   pattern


  -C NUM, -NUM, --context=NUM
          Print  NUM  lines of output context.  Places a
          line containing a group separator (--) between
          contiguous  groups of matches.  With the -o or
          --only-matching option, this has no effect and
          a warning is given.
   -R, -r, --recursive
          Read   all   files   under   each   directory,
          recursively;  this  is  equivalent  to  the -d
          recurse option.
terdon
fuente
Si tiene un grep reciente de GNU (?), Es posible que desee utilizar también el --color opción. El nombre del archivo se imprime en magenta, el texto correspondiente en rojo.
mpy