Quale comando, se esiste, può essere una buona alternativa al testo sublime trovato nella cartella?


0

C'è un modo per trovare ricorsivamente una stringa o una frase in tutti i file in una cartella dalla riga di comando, in modo tale che l'output sia simile al comportamento di ricerca di Sublime Text 2? Come, con il percorso del nome del file in cui è stata trovata la stringa e parte del blocco di testo che lo contiene?


4
Puoi caricare un'immagine del "comportamento di ricerca di Sublime Text 2"?
matan129

Risposte:


2

Immagino che tu stia usando un sistema * nix. Se vuoi solo i file nella cartella corrente, fallo

$ 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

Se si desidera anche ricorrere a sottocartelle, utilizzare

grep -rC 3 foo

Dettagli:

   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.

Se hai un recente GNU (?) Grep, potresti voler usare anche il --color opzione. Il nome del file viene quindi stampato in magenta, il testo corrispondente in rosso.
mpy
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.