Καλώς ήρθες!!!
Δε θα σου πω τη λύση-γιατί δεν τη ξέρω - αλλά για τέτοιες δουλειές υπάρχουν εργαλεία που μπορείς να χρησιμοποιήσεις. Η βασική αρχή στο UNIX και στο Linux είναι ότι δε χρειάζεται να ξαναανακαλύψεις τον τροχό. Θα σου δώσω μερικά παραδειγματα από εργαλεία όπως awk, sort και grep. Δε χρειάζεται να γράψεις δικό σου πρόγραμμα C, εκτός κι αν θέλεις να μάθεις οπότε αλλάζει το πράμα. Η awk είναι μια γλώσσα προγραμματισμού εξειδικευμένη στο pattern matching. Η εντολή sort όπως καταλαβαίνεις ταξινομεί μια ομάδα αντικειμένων. Η εντολή grep δεν είναι κι αυτή για pattern matching, πολύ πιο εύκολη στη χρήση από την awk. Έπειτα υπάρχει το παντοδύναμο εργαλείο του διαύλου (pipe), που συμβολίζεται με |. Αυτό διοχετεύει το αποτέλεσμα μιάς εντολής σε μια άλλη.
Παραδείγματα:
- Κώδικας: Επιλογή όλων
ls -l | grep -i pattern
θα τυπώσει τα αποτελεσμα της εντολής ls -l αλλά μόνο αν βρει το pattern σε μια γραμμη. Η επιλογή -i δηλώνει case insensitive.
- Κώδικας: Επιλογή όλων
ls -l | awk '{print $5}'
θα τυπώσει μόνο το πέμπτο πεδίο του αποτελέσματος της εντολής ls -l
- Κώδικας: Επιλογή όλων
ls -l | awk '{print $5}' | sort
θα δεις ότι είναι διαφορετικά ταξηνομημένα.
Όλα αυτά μετά μπορείς να τα συνδυάσεις σε ένα shell script και να αυτοματοποιήσεις τη διαδικασία.
Στο διαδίκτυο αν ψάξεις για αυτές τις εντολές θα βρεις αρκετά tutorials και παραδείγματα. Για ό,τι απορίες έχεις εδώ είμαστε.