Mam problem, dla którego po meczu otrzymuję zbyt wiele informacji
grep -RnisI --color=auto "pseudomonas" *
Chcę uzyskać tylko 20 znaków lub 10 słów po meczu i przed nim.
Jakie jest właściwe narzędzie do zrobienia czegoś takiego?
Mam problem, dla którego po meczu otrzymuję zbyt wiele informacji
grep -RnisI --color=auto "pseudomonas" *
Chcę uzyskać tylko 20 znaków lub 10 słów po meczu i przed nim.
Jakie jest właściwe narzędzie do zrobienia czegoś takiego?
Odpowiedzi:
cat file.txt | grep -o -P '.{0,20}string.{0,20}'
To powinno zrobić dla ciebie
Aktualizacja:
Jeśli nie chcesz cat, możesz po prostu użyć grep z plikiem jako parametrem:
grep -o -P '.{0,20}pseudomonas.{0,20}' FileName.html
Ponadto, -P używa Perl Regex, który według stron man jest eksperymentalny, jeśli chcesz uniknąć tej flagi, możesz zamiast tego użyć egrep:
grep -Eo '.{0,20}yourstring.{0,20}' yourtestfile.txt
> results.txt
do końca polecenia, ale nie powie ci, w którym pliku go znalazłeś.
pcregrep -MnirIso '(?s).{0,20}pseudomonas.{0,20}' . |
grep --color -e '^' -e pseudomonas
Zakłada, że dopasowania i ich kontekst nie pokrywają się, a nazwy plików nie zawierają pseudomonas
.
Zauważ również, że zgłaszane numery wierszy pochodzą z początku kontekstu.
-A1
i-B1
wzgl.), Ale to jest zbyt dużo? Gdzie dokładnie chcesz przyciąć swoją produkcję?