Ich habe das Problem, dass ich nach dem Spiel zu viele Informationen bekomme
grep -RnisI --color=auto "pseudomonas" *
Ich möchte nach und vor dem Spiel nur 20 Zeichen oder 10 Wörter erhalten.
Was ist das richtige Werkzeug, um so etwas zu tun?
Ich habe das Problem, dass ich nach dem Spiel zu viele Informationen bekomme
grep -RnisI --color=auto "pseudomonas" *
Ich möchte nach und vor dem Spiel nur 20 Zeichen oder 10 Wörter erhalten.
Was ist das richtige Werkzeug, um so etwas zu tun?
Antworten:
cat file.txt | grep -o -P '.{0,20}string.{0,20}'
Dies sollte es für Sie tun
Aktualisieren:
Wenn Sie keine Katze wollen, können Sie einfach das grep mit der Datei als Parameter verwenden:
grep -o -P '.{0,20}pseudomonas.{0,20}' FileName.html
Außerdem verwendet The -P Perl Regex, das laut Manpage experimentell ist. Wenn Sie dieses Flag vermeiden möchten, können Sie stattdessen einfach egrep verwenden:
grep -Eo '.{0,20}yourstring.{0,20}' yourtestfile.txt
> results.txt
das Ende Ihres Befehls anfügen. Es gibt jedoch keine Auskunft darüber, in welcher Datei Sie es gefunden haben.
pcregrep -MnirIso '(?s).{0,20}pseudomonas.{0,20}' . |
grep --color -e '^' -e pseudomonas
Angenommen, Übereinstimmungen und ihr Kontext überschneiden sich nicht und die Dateinamen enthalten keine pseudomonas
.
Beachten Sie auch, dass die angegebenen Zeilennummern denen des Kontextanfangs entsprechen.
-A1
und-B1
verantw.), Aber es ist zu viel? Wo genau soll die Ausgabe abgeschnitten werden?