Seite 1 von 1

[gelöst] grep verliert die Formatierung der Fundstellen, wenn im script

Verfasst: 9. Okt 2017, 12:42
von gorgonz
Wollte mir eine kleine Routine schreiben, um in meinen betreuten Webseiten nach bestimmten Strings zu suchen. Das klappt manuell über

Code: Alles auswählen

page=$(wget -O - --no-verbose $url);
echo $page | grep $searchpattern
Fundstellen werden dann, farbig markiert, im Text ausgegeben
Pack ich es in ein Skript, dann geht die farbige Markierung verloren. Hat jemand eine Idee, wie ich das wieder bewirken kann?

Nebenfrage: Üblicherweise wird der Inhalt der kompletten Webseite ausgegeben, da die Zeilenumschaltung über die HTML Tags erfolgt und nicht über \r\n. Ist es unkompliziert möglich, dem grep beizubringen, immer nur die Fundstellen und ca 20 Zeichen vor und nach der Fundstelle auszugeben?

Vielen Dank schonmal vorab :-)

Re: grep verliert die Formatierung der Fundstellen, wenn im script

Verfasst: 9. Okt 2017, 13:44
von gorgonz
ok, eine Behebung habe ich gefunden.
Es hängt mit den grep options zusammen, weiß jedoch nicht warum sie verloren gehen können bzw. überschrieben. Nach Setzen von

Code: Alles auswählen

export GREP_OPTIONS='--color=auto'
im Skript ist die Farbunterlegung auch im Skript wieder da.
Für das Anzeigen nur der Fundstellen +/- 20 weiss ich noch nichts

Re: grep verliert die Formatierung der Fundstellen, wenn im script

Verfasst: 9. Okt 2017, 15:07
von gorgonz
Ich kannte die Option "-o" von grep nicht. Damit ist das Anzeigen der Fundstellen mit den Zeichen vor/nachher einfach zu machen.
Falls jemand über diesen Thread stolpert: so schaut jetzt die korrekte Zeile im Skript aus

Code: Alles auswählen

echo $page | grep -E --color -o ".{0,20}$SEARCH.{0,20}"
GREP_OPTIONS habe ich jetzt durch das direkte flag --color ersetzt

Re: [gelöst] grep verliert die Formatierung der Fundstellen, wenn im script

Verfasst: 9. Okt 2017, 20:54
von spoensche

Code: Alles auswählen

grep -A 20 -B 20
gibt die jeweils die 20 Zeilen vor und 20 Zeilen nach dem Fund aus.

Wäre es nicht evtl. hilfreicher und Sinnvoller nur die betroffenen Zeilen auszugeben? Zum einen musst du weniger lesen, kannst dir die Farbe sparen und du bekommst exakt das angezeigt, was du sehen willst.

Re: [gelöst] grep verliert die Formatierung der Fundstellen, wenn im script

Verfasst: 9. Okt 2017, 21:01
von gorgonz
Hey spoensche,
vielen Dank für Deine Ergänzung, das merke ich mir für einen anderen Einsatz :-).
In diesem speziellen Fall kann ich es nicht verwenden. Hintergrund: Ich suche malicous Code, der sich meistens im Javascript versteckt - und da ist der gesamte Code meistens nur eine laaange Zeile lang ;-).
Ich brauche nur ein bisschen Umfeld, damit ich sehe, ob es Zufall oder Treffer ist.