script για ταξινόμηση αρχείων

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

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

script για ταξινόμηση αρχείων

Δημοσίευσηαπό dinosaxon » 09 Μαρ 2012, 19:42

καλησπέρα,

υπάρχει κάποιος τρόπος ώστε να αυτοματοποιήσω τη μετακίνηση εκατοντάδων αρχείων; Συγκεκριμένα, έχω ένα φάκελο με πάνω από 1 εκ αρχεία τα οποία έχουν όνομα XXXX_EL.txt, XXXX_IT.txt, XXXX_EN.txt κλπ και θέλω να τα ταξινομήσω σε αντίστοιχους φακέλους. Για παράδειγμα τα XXXX_EL.txt να μετακινηθούν στο φάκελο EL, τα XXXX_IT.txt στο φάκελο ΙΤ κ.ο.κ. Υπάρχει κάποιο έτοιμο script;

Ευχαριστώ
1 Linux: Αρχάριος ┃ Προγραμματισμός: Ηtml (λιγο) ┃ Αγγλικά: καλά
2 Ubuntu 11.04 natty 32bit (el_GR.UTF-8),
3 AMD Athlon 64 Processor 3500+ ‖ RAM 2011 MiB ‖ MSI MS-7250
4 ATI Cedar PRO [Radeon HD 5450] [1002:68f9]
5 eth0: nVidia MCP55 Ethernet [10de:0373] (rev a2)
dinosaxon
babeTUX
babeTUX
 
Δημοσιεύσεις: 13
Εγγραφή: 27 Σεπ 2011, 12:48
Εκτύπωση

Re: script για ταξινόμηση αρχείων

Δημοσίευσηαπό Ilias95 » 09 Μαρ 2012, 20:01

Είναι πολύ εύκολο να το κάνεις με bash.

Θα μεταβείς στον κατάλογο όπου βρίσκονται τα αρχεία και θα δώσεις μια εντολή σαν:
Κώδικας: Επιλογή όλων
cp *_EL.txt /home/dinosaxon/yourfolder

Με την παραπάνω εντολή αντιγράφεις όλα τα αρχεία του φακέλου που επαληθεύουν το μοτίβο "*_EL.txt" (δηλαδή κάθε το αρχείο το οποίο περιέχει οποιουσδήποτε και οσουσδήποτε χαρακτήρες στην αρχή και έχει κατάληξη "_EL.txt") στον φάκελο /home/dinosaxon/yourfolder.
Φυσικά θα αντικαταστήσεις με το όνομα του φακέλου που πραγματικά θες να πάνε τα αρχεία.

Επίσης αν δώσεις όλες τις πιθανές καταλήξεις (EL, IT κλπ) και σε ποιον φάκελο θα αντιστοιχούν τα αρχεία με την εκάστοτε κατάληξη είναι εύκολο να γραφτεί ένα script ώστε να μην χρειάζεται να δώσεις την παραπάνω εντολή για κάθε κατάληξη.
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: script για ταξινόμηση αρχείων

Δημοσίευσηαπό fkol k4 » 09 Μαρ 2012, 20:09

Μπορείς επίσης (αν δεν θέλεις να το κάνεις με το τερματικό), να χρησιμοποιήσεις την αναζήτηση του διαχειριστή αρχείων.
Πατώντας την αναζήτηση, (το μεγεθυντικό φακό πάνω δεξιά) θα ανοίξει το παράθυρο που θα σου ζητά ποια αρχεία θέλεις να βρεθούν.
Εκεί θα βάλεις τον όρο που σου περιγράφει ο Ilias95, πχ το *_EL.txt, με το οποίο θα βρεθούν όλα τα αρχεία που καταλήγουν σε EL.txt.
Έτσι, μπορείς να τα επιλέξεις και να τα μεταφέρεις με τον διαχειριστή αρχείων.
Γνώσεις: Linux: ★★★☆☆ Προγραμματισμός: ★☆☆☆☆ Αγγλικά: ★★★★★
Η υπογραφή μου
Οδηγίες για αρχάριους στο Ubuntu (12.04 LTS)Οδηγοί του forum
Άβαταρ μέλους
fkol k4
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4829
Εγγραφή: 28 Φεβ 2011, 22:56
Τοποθεσία: Αθήνα
Launchpad: fkol-k4
IRC: fkol_k4
Εκτύπωση

Re: script για ταξινόμηση αρχείων

Δημοσίευσηαπό dinosaxon » 10 Μαρ 2012, 22:24

Σας ευχαριστώ για την απάντηση απλά, θα ήθελα κάτι πιο αυτοματοποιημένο, διότι η διαδικασία αυτή θα επαναλαμβάνεται ανά τακτά χρονικά διαστήματα.
1 Linux: Αρχάριος ┃ Προγραμματισμός: Ηtml (λιγο) ┃ Αγγλικά: καλά
2 Ubuntu 11.04 natty 32bit (el_GR.UTF-8),
3 AMD Athlon 64 Processor 3500+ ‖ RAM 2011 MiB ‖ MSI MS-7250
4 ATI Cedar PRO [Radeon HD 5450] [1002:68f9]
5 eth0: nVidia MCP55 Ethernet [10de:0373] (rev a2)
dinosaxon
babeTUX
babeTUX
 
Δημοσιεύσεις: 13
Εγγραφή: 27 Σεπ 2011, 12:48
Εκτύπωση

Re: script για ταξινόμηση αρχείων

Δημοσίευσηαπό Ilias95 » 11 Μαρ 2012, 03:23

dinosaxon έγραψε:Σας ευχαριστώ για την απάντηση απλά, θα ήθελα κάτι πιο αυτοματοποιημένο, διότι η διαδικασία αυτή θα επαναλαμβάνεται ανά τακτά χρονικά διαστήματα.

Αν θες να μεταφέρονται τα αρχεία με συγκεκριμένη κατάληξη πάντα σε συγκεκριμένο φάκελο είναι πολύ εύκολο να γραφτεί ένα script.
Αρκεί να μας πεις ποια αρχεία θα αντιστοιχούν σε ποιον φάκελο (το full path του φακέλου).
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: script για ταξινόμηση αρχείων

Δημοσίευσηαπό dinosaxon » 11 Μαρ 2012, 15:20

καλημέρα και ευχαριστώ για την απάντηση. Όλα τα αρχεία είναι σε ένα φάκελο στο home πχ home/files. Τα αρχεία θέλω να πηγαίνουν σε φακέλους που θα είναι μέσα στον files. Το πλήθος των αρχείων είναι πάνω από 2εκ.
1 Linux: Αρχάριος ┃ Προγραμματισμός: Ηtml (λιγο) ┃ Αγγλικά: καλά
2 Ubuntu 11.04 natty 32bit (el_GR.UTF-8),
3 AMD Athlon 64 Processor 3500+ ‖ RAM 2011 MiB ‖ MSI MS-7250
4 ATI Cedar PRO [Radeon HD 5450] [1002:68f9]
5 eth0: nVidia MCP55 Ethernet [10de:0373] (rev a2)
dinosaxon
babeTUX
babeTUX
 
Δημοσιεύσεις: 13
Εγγραφή: 27 Σεπ 2011, 12:48
Εκτύπωση

Re: script για ταξινόμηση αρχείων

Δημοσίευσηαπό Ilias95 » 11 Μαρ 2012, 15:26

Ωραία. Αν κάνεις έναν πίνακα αντιστοίχισης είναι πολύ εύκολο να γράψουμε κάτι.

Πχ.
Κώδικας: Επιλογή όλων
*_EL.txt -> /home/dinosaxon/files/folername1
*_IT.txt -> /home/dinosaxon/files/folername2
*_EN.txt -> /home/dinosaxon/files/folername3


Και μετά κάθε φορά που θα τρέχεις το script όλα τα αρχεία του φακέλου θα πηγαίνουν στους φακέλους που τους αντιστοιχούν.
Καλύτερα να δώσεις το absolute path όμως. (Αν δεν θέλεις να το φανερώσεις εδώ, μπορείς με pm).
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: script για ταξινόμηση αρχείων

Δημοσίευσηαπό simosx » 11 Μαρ 2012, 15:28

Ακόμα, αν περιγράψεις πως δημιουργούνται τα αρχεία (οπότε θα δούμε τη συχνότητα δημιουργίας), μπορούμε να δούμε αν είναι εφικτό να ενσωματωθεί το πρόγραμμα εντολών με το λογισμικό δημιουργίας τους, οπότε με τη δημιουργία τα αρχεία να πάνε στο σωστό κατάλογο.
προσωπικό ιστολόγιο ϗ πλανήτης 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
Εκτύπωση


Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι