Ho il problema di ottenere troppe informazioni dopo la partita
grep -RnisI --color=auto "pseudomonas" *
Voglio ottenere solo 20 caratteri o 10 parole dopo e prima della partita.
Qual è lo strumento giusto per fare una cosa del genere?
Ho il problema di ottenere troppe informazioni dopo la partita
grep -RnisI --color=auto "pseudomonas" *
Voglio ottenere solo 20 caratteri o 10 parole dopo e prima della partita.
Qual è lo strumento giusto per fare una cosa del genere?
Risposte:
cat file.txt | grep -o -P '.{0,20}string.{0,20}'
Questo dovrebbe farlo per te
Aggiornare:
Se non vuoi cat, puoi semplicemente usare grep con il file come parametro:
grep -o -P '.{0,20}pseudomonas.{0,20}' FileName.html
Inoltre, -P usa Perl Regex, che le pagine man dicono sia sperimentale, se vuoi evitare quella bandiera, puoi semplicemente usare egrep invece:
grep -Eo '.{0,20}yourstring.{0,20}' yourtestfile.txt
> results.txt
alla fine del tuo comando, ma non ti dirà in quale file lo hai trovato.
pcregrep -MnirIso '(?s).{0,20}pseudomonas.{0,20}' . |
grep --color -e '^' -e pseudomonas
Presuppone che le corrispondenze e il loro contesto non si sovrappongano e che i nomi dei file non contengano pseudomonas
.
Si noti inoltre che i numeri di riga riportati sono quelli dell'inizio del contesto.
-A1
e-B1
risp.), Ma è troppo? Dove vuoi esattamente ritagliare il tuo output?