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

Β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, και την υλοποιούσα για την σχολή. ΑΜΑΝ.

 

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

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

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

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