Προς το περιεχόμενο

Βash script και awk


poscaman

Προτεινόμενες αναρτήσεις

θέλω να φτιάξω ένα bash script που να παίρνει σας είσοδο αρχείο της μορφής

 

[filename][ip]

 

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

 

μια βοήθεια; (pls, μην παραθέσετε ξερό κώδικα. θέλω να ψαχτώ λίγο)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αν κατάλαβα καλά, οι αγκύλες υπάρχουν όντως μέσα στο αρχείο και θες να μετρήσεις πόσες φορές εμφανίζεται κάθε filename; Τότε μπορείς ίσως πιο εύκολα να το κάνεις με sed:

 

>
cat arxeio | sed 's/^\[\(.*\)\]\[.*\]$/\1/'

 

Αυτό θα σου κάνει match ολόκληρη τη γραμμή, από την αρχή (^) μέχρι το τέλος ($) και θα κρατήσει μόνο ό,τι βρίσκεται ανάμεσα στις πρώτες αγκύλες. Φυσικά δεν είναι καθόλου robust, δηλαδή οποιαδήποτε γραμμή τυχαίνει να *μην* είναι σε αυτό το format, απλά θα περάσει στην έξοδο.

 

Από κει και πέρα, για να μετρήσεις θα σε βοηθήσουν η sort και η uniq (πρώτα sort, μετά uniq, δες τις manpages).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

ευχαριστώ πολύ.

 

ώρες ώρες ρε γμτ κατεβάζω διακόπτες τελείως. πριν μια βδομάδα διάβαζα για την sort σε συνδυασμό με την uniq -c, και την υλοποιούσα για την σχολή. ΑΜΑΝ.

 

ευχαριστω ξανα

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...