bitcon

Weiterverarbeitung mit grep Befehl

Guten Tag Forumsnutzer

Ich möchte ein Skript erstellen, welches auf einem Raspberry pi2 laufen soll. Dieses Skript hat die Aufgrabe, eine E-Mail welche sich bereits als .txt auf dem pi befindet zu öffnen nach einem bestimmten Text(String) zu durchsuchen und die nächsten 10 Zeichen nach diesem String in eine neue Datei zu speichern. Mein erster Ansatz ist es gewesen die Datei mit einem grep Befehl zu Filtern. Damit ist es mir gelungen den immer gleichbleiben Teil des Strings herauszufiltern. Nun stellt sich mir die Frage ob es überhaupt möglich ist den Wert der durch den grep Befehl gefiltert wurde weiterzuverarbeiten sprich in eine neue Datei zu speichern. Und sollte dies der Fall sein wie ist es möglich.

Vielen Dank für eure Hilfe.

Gruß

Bitcon
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 312959

Url: https://administrator.de/forum/weiterverarbeitung-mit-grep-befehl-312959.html

Ausgedruckt am: 11.05.2025 um 06:05 Uhr

colinardo
colinardo 18.08.2016 aktualisiert um 11:11:16 Uhr
Goto Top
Hallo Bitcon
kein Problem mit ein bißchen Regex

Mit sed:
sed -rne 's/.*Suchwort(.{10}).*/\1/ip' mail.txt >extracted.txt  
Mit grep:
grep -Po 'Suchwort.{10}' mail.txt >extracted.txt  
Grüße Uwe
Bitcon
Bitcon 18.08.2016 um 11:17:22 Uhr
Goto Top
Hallo Uwe

Erstmal möchte ich mich für deine schnelle Lösung bedanken.
Wenn ich den grep Befehl wie du ihn angegeben hast ausführen möchte kommt allerdings als Antwort
bash: extracted.txt Keine Berechtigung. Ich habe versucht ein sudo vor den Befehl zu setzten leider ohne Erfolg.
Ich bin noch ein absoluter Anfänger was das bashen angeht face-smile

Gruß
Bitcon
colinardo
colinardo 18.08.2016 aktualisiert um 11:23:55 Uhr
Goto Top
Dann hast du im aktuellen Verzeichnis keine Schreibrechte, du kannst statt dem Namen auch einen kompletten Pfad angeben:
>/Path/to/Dir/extracted.txt
oder fürs HomeDirectory, da solltest du auf jeden Fall reinschreiben dürfen.
>~/extracted.txt

Das sind ganz einfache stdout "redirects" also absolute Basics, das sollte man wenn man unter Linux unterwegs ist eigentlich als ganz zu Beginn lernen face-wink
3. All about redirection
http://tldp.org/LDP/Bash-Beginners-Guide/html/
Bitcon
Bitcon 18.08.2016 um 11:31:56 Uhr
Goto Top
Vielen Dank Uwe
die extracted.txt wurde jetzt erstellt allderdings ist sie noch leer.
die Datei in der die Mail mit dem Passwort ungefiltert sind liegen im /var/mail/root die datei heißt root. Die Datei root ist ohne Endung ist das dann überhaupt eine Textdatei? Oder muss ich im Befehl dann noch eine änderung vornehmen?

Gruß

Bitcon
colinardo
colinardo 18.08.2016 aktualisiert um 11:38:52 Uhr
Goto Top
Dann hast du das Suchwort im Sed oder grep Befehl nicht richtig angepasst (Achtung Regular Expression syntax bei Sonderzeichen!!)
Regular Expressions Tutorial
Die Datei root ist ohne Endung ist das dann überhaupt eine Textdatei?
kannst du ja ganz einfach mit cat /var/mail/root
selbst feststellen, kannst du den Inhalt auf der Konsole lesen geht auch das Auslesen problemlos.
Oder muss ich im Befehl dann noch eine änderung vornehmen?
Wenn ich weiß wonach du suchst und dein Dateiinhalt aussieht ...
Bitcon
Bitcon 18.08.2016 um 11:49:11 Uhr
Goto Top
Also mit sudo cat /var/mail/root ist es möglich die Mail zu öffnen. ohne sudo nicht

Der Text der Email lautet:

Your password for Gäste: wikuxuhi64

UTM SG 310 KV Eifelkreis in Bitburg

Mein Ziel ist es wie bereits beschrieben nur das Passwort welches sich täglich ändert zu extrahieren.

Vielen Dank für deine Hilfe

Bitcon
colinardo
colinardo 18.08.2016 aktualisiert um 12:01:33 Uhr
Goto Top
Zitat von @Bitcon:
Also mit sudo cat /var/mail/root ist es möglich die Mail zu öffnen. ohne sudo nicht
Logisch wenn du nicht als root unterwegs (eingeloggt) bist!
Der Text der Email lautet:
Your password for Gäste: wikuxuhi64

UTM SG 310 KV Eifelkreis in Bitburg

Mein Ziel ist es wie bereits beschrieben nur das Passwort welches sich täglich ändert zu extrahieren.
Das schreibst du ja erst jetzt face-smile, hellsehen kann ich natürlich nicht, aber kein Problem
sudo cat /var/mail/root | sed -rne 's/.*password for Gäste: (.{10}).*/\1/ip' >~/password.txt  
Geht einwandfrei ... Pfad zur Zieldatei (hier 'password.txt' in deinem home dir) natürlich anpassen!
Lochkartenstanzer
Lochkartenstanzer 18.08.2016 aktualisiert um 12:00:02 Uhr
Goto Top
 sudo grep  "Your password for Gäste:" /var/mail/root/ | gawk  -F": " ' { print $2 } '  >~/aktuelles-password.txt
Lochkartenstanzer
Lochkartenstanzer 18.08.2016 aktualisiert um 12:04:47 Uhr
Goto Top
Zitat von @colinardo:

Das schreibst du ja erst jetzt face-smile, ...


Es wäre ja zu einfach, wenn ein TO gleich alle Informationen liefern würde. face-smile

... hellsehen kann ich natürlich nicht, aber kein Problem

Muddu Kristallkugel kaufen. face-smile

lks
colinardo
colinardo 18.08.2016 aktualisiert um 12:07:10 Uhr
Goto Top
Zitat von @Lochkartenstanzer:
Es wäre ja zu einfach, wenn ein TO gleich alle Informationen liefern würde. face-smile
Jepp Quia nesciunt quid legunt ...
Lochkartenstanzer
Lochkartenstanzer 18.08.2016 um 12:12:03 Uhr
Goto Top
Zitat von @colinardo:

Zitat von @Lochkartenstanzer:
Es wäre ja zu einfach, wenn ein TO gleich alle Informationen liefern würde. face-smile
Jepp Quia nesciunt quid legunt ...

Naja, das müßte doch eher heißen:

Administrator, ignosce illis, quia nesciunt quid legunt. face-smile

lks
colinardo
colinardo 18.08.2016 aktualisiert um 12:21:47 Uhr
Goto Top
[OT]
Immer getreu dem Motto:
"Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun." (Aristoteles)
face-smile
[/OT]