Τετάρτη 26 Μαρτίου 2008

Μορφοποιόντας την έξοδο

Όταν θέλετε απο την έξοδο ενός προγράμματος/αρχείου να εμφανίσετε στην οθόνη κάποιες συγκεκριμένες γραμμές, μπορείτε να χρησιμοποιήσετε την εντολή grep.
πχ η εντολή

netstat -na | grep ESTABLISHED


θα εμφανίσει όλες τις συνδέσεις που πραγματοποιούνται εκείνη την στιγμή. Μπορούμε να μορφοποιήσουμε την έξοδο ώστε να δούμε μόνο τις εξωτερικές ip και όχι ολόκληρη την γραμμή με αρκετές περιττές πληροφορίες. Αυτό γίνεται με την χρήση του προγράμματος awk.

Συγκεκριμένα το awk δέχεται μια γραμμή και με την παράμετρο print εμφανίζει την λέξη που θέλουμε.

Για παράδειγμα στην προηγούμενη εντολή η έξοδος είναι:
tcp 0 0 192.168.0.1:42280 207.46.109.47:1863 ESTABLISHED
όπου (Proto Recv-Q Send-Q Local Address Foreign Address State)
Άρα η εξωτερική ip που είναι συνδεδεμένη στο σύστημα μας είναι η 5 λέξη.

Συνεπώς η εντολή

netstat -na | grep ESTABLISHED | awk '{print $5}'


θα εκτυπώσει μόνο το επιθυμητό αποτέλεσμα.


+++

Αν θέλετε να εκτυπώνετε και ο συνολικός αριθμός των συνδέσεων τότε μπορείτε να χρησιμοποιήσετε την εντολή tee και wc -l με αυτό τον τρόπο:

netstat -na | grep ESTA | awk '{print $5}'|tee tmpfile && wc -l tmpfile


Προσέξτε οτι δημιουργήθηκε και το αρχείο tmpfile.

Δεν υπάρχουν σχόλια: