Hallo Community,
Ich möchte mit grep die Ausgabe: "Nmap scan report for 192.168.XX.YY" filtern und die beinhaltende Zeile und die zwei Zeile davor löschen.
Ich würde für die IP Variablen verwenden, da ich das auch schon im Script vorher so gemacht habe.
Ich möchte also nur die Ausgaben aus der Datei löschen, bei denen Nmap zu keinem Ergebnis gekommen ist.
Wie kann ich das realisieren?
LG
TimeMen
Grep Filterung und Zeilen davor löschen
- TimeMen
- Beiträge: 24
- Registriert: 24.04.2016 13:49:05
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Timbuktu
-
Kontaktdaten:
Grep Filterung und Zeilen davor löschen
Pitchblack darkness - no LIGHTS, no AIR, no SOUND ~ KYTEMAN ORCHESTRA
"In silent nights you can hear the Windows machines rebooting!"
"In silent nights you can hear the Windows machines rebooting!"
- heisenberg
- Beiträge: 4123
- Registriert: 04.06.2015 01:17:27
- Lizenz eigener Beiträge: MIT Lizenz
Re: Grep Filterung und Zeilen davor löschen
Mal so ein paar Beispiele
Zeige nur die Zeilen an, in den 80/tcp, 80/udp, 443/tcp, 443/udp steht:
Schneide die ersten 6 Zeilen ab und die letzten 3:
Zeige Zeile 4 bis 9 an:
Erklärung dazu in Deinen deutschsprachigen Handbuchseiten.
Nachtrag: sed-Beispiel. sed ist auch ganz praktisch hier.
Zeige nur die Zeilen an, in den 80/tcp, 80/udp, 443/tcp, 443/udp steht:
Code: Alles auswählen
nmap -p80,443 www.debianforum.de | grep -E '(80|443)/(tcp|udp)'
Code: Alles auswählen
nmap -p80,443 www.debianforum.de | tail -n +7 | tac | tail -n +3 | tac
Code: Alles auswählen
nmap -p80,443 www.debianforum.de | sed -n -e '4,9p'
Code: Alles auswählen
man grep
man tail
man tac
man sed
Zuletzt geändert von heisenberg am 11.06.2016 20:18:29, insgesamt 2-mal geändert.
- TimeMen
- Beiträge: 24
- Registriert: 24.04.2016 13:49:05
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Timbuktu
-
Kontaktdaten:
Re: Grep Filterung und Zeilen davor löschen
Mal sehen wie ich das versuche einzubauen.
Das "Script" ist eh für einen Freund der das mit dem Scannen öfter mal braucht.
Danke
TimeMen
Das "Script" ist eh für einen Freund der das mit dem Scannen öfter mal braucht.
Danke
TimeMen
Pitchblack darkness - no LIGHTS, no AIR, no SOUND ~ KYTEMAN ORCHESTRA
"In silent nights you can hear the Windows machines rebooting!"
"In silent nights you can hear the Windows machines rebooting!"
Re: Grep Filterung und Zeilen davor löschen
Die Zeilen vor etwas zu loeschen ist weitaus schwieriger als die Zeilen nach etwas zu loeschen, darum verwende tac(1). Etwa in der Art:
Oder:
Code: Alles auswählen
ip='192\.168\.1\.2'
tac | sed "/Nmap scan report for $ip/,+2d" | tac
Code: Alles auswählen
ip='192\.168\.1\.2'
tac | sed "/Nmap scan report for $ip/{N;N;d}" | tac
Use ed once in a while!