Ταξινόμηση

...IDE, compilers, κλπ

Συντονιστής: konnn

Ταξινόμηση

Δημοσίευσηαπό foititis21 » 21 Νοέμ 2008, 18:19

Παιδιά βοηθήστε σας παρακαλώ:
Λοιπόν έχω ένα αρχείο που έχω αποθηκευμένα μέσω τις πληροφορίες ενός καταλόγου. Θα ήθελα να μάθω πως μπορώ να εμφανίσω τα περιεχόμενα αυτού του αρχείου χωρισμένο σε 2 στήλες. Στην πρώτη στήλη να εμφανίζονται οι καταλόγοι και στην δεύτερη τα αρχεία. Τα δεδομένα στις στήλες πρέπει να εμφανίζονται ταξινομημένα με βάση τον χρόνο;

Μπορεί κανείς να βοηθήσει;

Ευχαριστώ
Τελευταία επεξεργασία από foititis21 και 21 Νοέμ 2008, 18:30, έχει επεξεργασθεί 1 φορά/ες συνολικά
foititis21
babeTUX
babeTUX
 
Δημοσιεύσεις: 2
Εγγραφή: 21 Νοέμ 2008, 18:15
Εκτύπωση

Re: help pls!

Δημοσίευσηαπό linuxman » 21 Νοέμ 2008, 18:25

foititis21 έγραψε:Παιδιά βοηθήστε σας παρακαλώ:
Λοιπόν έχω ένα αρχείο που έχω αποθηκευμένα μέσω τις πληροφορίες ενός καταλόγου. Θα ήθελα να μάθω πως μπορώ να εμφανίσω τα περιεχόμενα αυτού του αρχείου χωρισμένο σε 2 στήλες. Στην πρώτη στήλη να εμφανίζονται οι καταλόγοι και στην δεύτερη τα αρχεία. Τα δεδομένα στις στήλες πρέπει να εμφανίζονται ταξινομημένα με βάση τον χρόνο;

Μπορεί κανείς να βοηθήσει;

Ευχαριστώ

Ευχαρίστως άλλα μήπως μπορείς να γίνεις λίγο πιο σαφής ? τι αρχείο , σε τι μορφή , ποιου καταλόγου κτλ.
Και άλλαξε και το τίτλο να είναι σχετικό με το πρόβλημα που έχεις .
Οδηγίες προς Νεοεισερχόμενους
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Linux Mint 17.1 Rebecca 3.13.0-37-generic 64bit (el_GR.UTF-8, X-Cinnamon cinnamon)
3 Intel Core i5-2310M CPU @ 2.10GHz ‖ RAM 3866 MiB ‖ Dell Inc. 0D7C51 - Dell Inc. Dell System Vostro 3750
4 Intel 2nd Generation Core Processor Family Integrated Graphics [8086:0116] {i915}
5 wlan0: Intel Centrino Wireless-N 1030 [Rainbow Peak] [8086:008a] (rev 34) ⋮ eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 06)
http://www.greeklug.gr
Άβαταρ μέλους
linuxman
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10378
Εγγραφή: 10 Μάιος 2008, 20:41
Τοποθεσία: Thessaloniki / Macedonia / Greece
Εκτύπωση

Re: Ταξινόμηση

Δημοσίευσηαπό foititis21 » 21 Νοέμ 2008, 18:33

Προσπαθώ να φτιάξω ένα πρόγραμμα σε γλώσσα C το οποίο θα τρέχει σε Ubutnu. Έχω αποηθεκεύσει με προηγούμενες εντολές τα περιεχόμενα του κυρίου καταλόγου μου σε ένα αρχείου txt. Τώρα αυτό το αρχείο θέλω να το εμφανίσω στην οθόνη αλλά χωρισμένο σε δυο στηλές. Στην πρώτη θα εμφανίζει τους καταλόγου, στην δεύτερη τα αρχεία. Τα δεδόμενα αυτά θέλω να εμφανίζονται στις στήλες ταξινομημένα με βάση τον χρόνο

Ευχαριστώ
foititis21
babeTUX
babeTUX
 
Δημοσιεύσεις: 2
Εγγραφή: 21 Νοέμ 2008, 18:15
Εκτύπωση

Re: Ταξινόμηση

Δημοσίευσηαπό Dimitris » 21 Νοέμ 2008, 18:59

Καλώς ήρθες!!!

Δε θα σου πω τη λύση-γιατί δεν τη ξέρω - αλλά για τέτοιες δουλειές υπάρχουν εργαλεία που μπορείς να χρησιμοποιήσεις. Η βασική αρχή στο 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 και παραδείγματα. Για ό,τι απορίες έχεις εδώ είμαστε.
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Ταξινόμηση

Δημοσίευσηαπό Dimitris » 21 Νοέμ 2008, 19:09

Επίσης ξέχασα να πω ότι η ίδια η εντολή ls έχει επιλογη για να ταξινομεί τα αρχεία με βάση το χρονο μετατροπής τους (-t). Αρα κάτι τέτοιο θα σου κάνει:
Κώδικας: Επιλογή όλων
ls -ltr | awk '/\// { print $9 }'

θα τυπώσει σε χρονολογική σειρά τους φακέλους. Για τα αρχεία ψάξε το μόνος σου, δε θα ήταν διδακτικό αν σου πω τη λύση :D
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Ταξινόμηση

Δημοσίευσηαπό simosx » 21 Νοέμ 2008, 19:29

foititis21 έγραψε:Παιδιά βοηθήστε σας παρακαλώ:
Λοιπόν έχω ένα αρχείο που έχω αποθηκευμένα μέσω τις πληροφορίες ενός καταλόγου. Θα ήθελα να μάθω πως μπορώ να εμφανίσω τα περιεχόμενα αυτού του αρχείου χωρισμένο σε 2 στήλες. Στην πρώτη στήλη να εμφανίζονται οι καταλόγοι και στην δεύτερη τα αρχεία. Τα δεδομένα στις στήλες πρέπει να εμφανίζονται ταξινομημένα με βάση τον χρόνο;


Σε τι γλώσσα προγραμματισμού πρέπει να κάνεις την εργασία;
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Re: Ταξινόμηση

Δημοσίευσηαπό Dimitris » 21 Νοέμ 2008, 19:33

To λέει λίγο πιο κάτω, C. Αλλά δεν αναφέρει πουθενά για εργασία.
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση


Επιστροφή στο Εφαρμογές για Ανάπτυξη Λογισμικού