thessalonik Δημοσ. 15 Οκτωβρίου 2014 Δημοσ. 15 Οκτωβρίου 2014 Εχω καποια αρχεια mp3 διασπαρτα να συλλεξω απο πολλους φακελους που εχουν και εικονες μεσα ανακετεμενες και θελω να τα ριξω μεσα σε εναν φακελο: δοκιμαζω το εξης: [nikos@dell Λήψεις]$ pwd /home/nikos/Λήψεις [nikos@dell Λήψεις]$ ls -l ../tmp/ σύνολο 60 drwxr-xr-x 2 nikos users 4096 Οκτ 15 11:20 1967-Οι αναμνήσεις drwxr-xr-x 2 nikos users 4096 Οκτ 15 11:20 1968-Αγωνία drwxr-xr-x 2 nikos users 4096 Οκτ 15 11:20 1970-Αδέλφια μου αλήτες πουλιά drwxr-xr-x 2 nikos users 4096 Οκτ 15 11:20 1970-Σε ικετεύω drwxr-xr-x 2 nikos users 4096 Οκτ 15 11:20 1971-Μια αγάπη drwxr-xr-x 2 nikos users 4096 Οκτ 15 11:20 1972-Στιγμές αγάπης drwxr-xr-x 2 nikos users 4096 Οκτ 15 11:20 1972-Τόλης Βοσκόπουλος drwxr-xr-x 2 nikos users 4096 Οκτ 15 11:20 1973-Άς είμαστε ρεαλιστές drwxr-xr-x 2 nikos users 4096 Οκτ 15 11:20 1975-Εγώ τι έχω και τι θάχω drwxr-xr-x 2 nikos users 4096 Οκτ 15 11:20 1975-Τόλης Βοσκόπουλος - Μαρινέλλα drwxr-xr-x 2 nikos users 4096 Οκτ 15 11:20 1976-Εγω και εσυ drwxr-xr-x 2 nikos users 4096 Οκτ 15 11:20 1976 - Όταν τραγουδώ drwxr-xr-x 2 nikos users 4096 Οκτ 15 11:20 1976-Σμυρνέϊκα και Λαϊκά drwxr-xr-x 2 nikos users 4096 Οκτ 15 11:20 1977-Είναι το κάτι που μένει drwxr-xr-x 2 nikos users 4096 Οκτ 15 11:20 1977-Οι αναμνήσεις ξαναγυρίζουν [nikos@dell Λήψεις]$ cp -R ../tmp/*mp3* ./ cp: cannot stat «../tmp/*mp3*»: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος [nikos@dell Λήψεις]$ Τι εννοει οταν λεει " cannot stat"? Αφου του υποδεικνυω το μονοπατι και το ειδος των αρχειων και δινω και τον διακοπτη '-R' για να κοιταξει και τους υποφακελους.. Once again, τα φωτα σας!
Oxygene Δημοσ. 15 Οκτωβρίου 2014 Δημοσ. 15 Οκτωβρίου 2014 http://www.cyberciti.biz/tips/howto-linux-unix-find-move-all-mp3-file.html Ο διακόπτης -R δεν σημαίνει "ψάξε σε υποφακέλους" αλλά "αντέγραψε μαζί και τους υποφακέλους", όταν λοιπόν εσύ του λές cp -R ../tmp/*mp3* θα αντιγράψει ότι mp3 υπάρχουν μόνο μέσα στο ../tmp και όχι στους υποφακέλους του ../tmp Από την στιγμή που δεν υπάρχουν mp3 απευθείας μέσα στο ../tmp, παρά μόνο φάκελοι, λογικό είναι να σου πετάει το μύνημα λάθους ότι δεν τα βρίσκει
thessalonik Δημοσ. 15 Οκτωβρίου 2014 Μέλος Δημοσ. 15 Οκτωβρίου 2014 Σας ευχαριστω για το unix craft link: find ../tmp/ -iname "*.mp3" -type f -print0 | xargs -0 -I '{}' cp {} ./ Αυτο εκανε αυτο που χρειαζομουνα. Επισης αν δωσω την 'mv' εναντι της 'cp' βλεπω κατα leftovers των φακελων μετα την αρπαγη των αρχειων, και ετσι διαπιστωνω καλυερα ποσο καλα δουλεψε. http://www.cyberciti.biz/tips/howto-linux-unix-find-move-all-mp3-file.htmlΟ διακόπτης -R δεν σημαίνει "ψάξε σε υποφακέλους" αλλά "αντέγραψε μαζί και τους υποφακέλους", όταν λοιπόν εσύ του λές cp -R ../tmp/*mp3* θα αντιγράψει ότι mp3 υπάρχουν μόνο μέσα στο ../tmp και όχι στους υποφακέλους του ../tmpΑπό την στιγμή που δεν υπάρχουν mp3 απευθείας μέσα στο ../tmp, παρά μόνο φάκελοι, λογικό είναι να σου πετάει το μύνημα λάθους ότι δεν τα βρίσκει ενταξει στο /home/nikos/tmp/ δεν βρισκει mp3 αλλα μετα γιατι να μην κοιταξει πιο μεσα?
Oxygene Δημοσ. 15 Οκτωβρίου 2014 Δημοσ. 15 Οκτωβρίου 2014 Γιατί δεν είναι αυτή η δουλειά του, ψάξιμο κάνει μόνο η find
thessalonik Δημοσ. 15 Οκτωβρίου 2014 Μέλος Δημοσ. 15 Οκτωβρίου 2014 "Ο διακόπτης -R δεν σημαίνει "ψάξε σε υποφακέλους" αλλά "αντέγραψε μαζί και τους υποφακέλους", όταν λοιπόν εσύ του λές cp -R ../tmp/*mp3* θα αντιγράψει ότι mp3 υπάρχουν μόνο μέσα στο ../tmp και όχι στους υποφακέλους του ../tmp" Ακομα δεν το ξεκαθαρισα αυτο μεσα μου. Μηπως μπορεις να μου το κανεις περισσοτερο λιανα?" cp -R ../tmp/*mp3* ./ Ψαξιμο μπορει να κανει μονο η find ναι αλλα και η cp οταν δινεις ορισματα και αυτη ενα ειδος αναζητησης δεν κανει για να τα βρει βαση του ορισματος? οποτε γιατι να μην το κανει αυτο και σε sub-folder level?
Oxygene Δημοσ. 15 Οκτωβρίου 2014 Δημοσ. 15 Οκτωβρίου 2014 Γιατί του είπες να αντιγράψει *mp3*, ΟΧΙ τους φακέλους μέσα στο /tmp. Του δηλώνεις ρητά τι θέλεις να αντιγράψει στην cp, ΔΕΝ κάνει αναζήτηση.
thessalonik Δημοσ. 15 Οκτωβρίου 2014 Μέλος Δημοσ. 15 Οκτωβρίου 2014 Γιατί του είπες να αντιγράψει *mp3*, ΟΧΙ τους φακέλους μέσα στο /tmp. Του δηλώνεις ρητά τι θέλεις να αντιγράψει στην cp, ΔΕΝ κάνει αναζήτηση. για να το καταλαβω καλυτερα, επειδη ακομη καπως με δυσκολευει, απο τη μερια της η 'cp', τον διακοπτη '-R' πως ακριβως τον αντιλαμβανεται? Ποτε θα λειτουργουσε σωστα αυτη η εντολη? Δεν ξερω πολυ με μπερδευει... ισως γιατι την συσχτειζω με τη 'rm -R /fakelos' η οποια χωνεται μεσα στους υποφακελοπυς για να κανει την δουλεια της, οποτε δεν καταλαβαινω γιατι και η 'cp' να μην συμπεριφερεται αναλογα.
pmav99 Δημοσ. 15 Οκτωβρίου 2014 Δημοσ. 15 Οκτωβρίου 2014 Για να καταλάβεις τι γίνεται πρέπει να καταλάβεις τι ακριβώς κάνει match το ../tmp/*mp3* Και για να το καταλάβεις αυτό πρέπει να μάθεις regular expressions.* Googl-αρε "posix + regex" Αν βαλθεί να μάθει και regex μέσω forum, mea culpa guys και για τιμωρία, εγώ θα τα κόψω τα τεχνολογικά φορουμ.
thessalonik Δημοσ. 15 Οκτωβρίου 2014 Μέλος Δημοσ. 15 Οκτωβρίου 2014 Οχι μωρε ενταξει δεν θα το τραβηξουμε τοσο μακρια, απλα ειναι αυτος ο ατιμος ο -R διακοπτης που με μπερδευει τη μια οσον αφορα την διαγραφη και την αλλη στην διαφορετικη συμπεριφορα οσον αφορα την αντιγραφη. Λιγο θεωρητικο ξεκολλημα θελω ετσι ωστε να διακρινω την διαφορα. Καποιος please με ενα 2 καλα ευδιακριτα παραδειγματα?
pmav99 Δημοσ. 15 Οκτωβρίου 2014 Δημοσ. 15 Οκτωβρίου 2014 (επεξεργασμένο) $ tree . ├── in │ ├── foo_mp3_1 │ ├── foo_mp3_2 │ ├── foo_mp3_3 │ └── goo │ ├── goo_mp3_1 │ ├── goo_mp3_2 │ └── goo_mp3_3 └── out 3 directories, 6 files $ cp -R ./in/*mp3* ./out $ tree . ├── in │ ├── foo_mp3_1 │ ├── foo_mp3_2 │ ├── foo_mp3_3 │ └── goo │ ├── goo_mp3_1 │ ├── goo_mp3_2 │ └── goo_mp3_3 └── out ├── foo_mp3_1 ├── foo_mp3_2 └── foo_mp3_3 3 directories, 9 files Όπως βλέπεις το goo δεν κάνει match για αυτό και δεν μπαίνει εκεί μέσα. $ tree . ├── in │ ├── foo_mp3_1 │ ├── foo_mp3_2 │ ├── foo_mp3_3 │ └── goo │ ├── goo_mp3_1 │ ├── goo_mp3_2 │ └── goo_mp3_3 └── out 3 directories, 6 files $ rm -rf in/*mp3* $ tree . ├── in │ └── goo │ ├── goo_mp3_1 │ ├── goo_mp3_2 │ └── goo_mp3_3 └── out 3 directories, 3 files Όπως βλέπεις ούτε και στο rm το goo κάνει match. H συμπεριφορά τους δηλαδή είναι ακριβώς η ίδια. Για να παίξεις, δημιούργησε (υπο)φακέλους όπως ο goo που θα έχουν όμως μέσα στο όνομα τους το "mp3" και δες τι θα γίνει. Απόδοση 1.02 ότι θα με κάνεις να το μετανιώσω. Επεξ/σία 15 Οκτωβρίου 2014 από pmav99
thessalonik Δημοσ. 15 Οκτωβρίου 2014 Μέλος Δημοσ. 15 Οκτωβρίου 2014 Οχι δεν θα σε κανω να το μετανιωσεις καθολου! Με το οπτικο σχεδιαγραμμα που μου εδωσες το πραγμα ειναι πλεον ευδιακριτο! το '-R' απο οτι καταλαβα μενει αδρανες εντελως γιατι δεν υπαρχουν sub-folders κατω απο το './in' φακελο. Εαn υπηρχαν θα αντιγραφονταν/διαγραφονταν ολα τα αρχεια(mp3) μεσα και απο αυτους προς τον './out'. Απλα "ετυχε" στην περιπτωση την δικη μου και την δικη σου να παραμενει αδρανης ο διακοπτης '-R' λογω μη υπαξης υπο-φακελων. Με αλλα λογια, αν καταλαβα καλα: cp -R ./in/*mp3* ./out == cp ./in/*mp3* ./out rm -Rf ./in/*mp3* == rm ./in/*mp3* αλλα μονο στην συγκεριμενη περιπτωση που παρεθεσες. Σωστα?!?
thessalonik Δημοσ. 16 Οκτωβρίου 2014 Μέλος Δημοσ. 16 Οκτωβρίου 2014 Καλημερα, καλα το καταλαβα? Αν το 'Goo' λεγοταν 'Goomp3oo' θα γινοταν match και θα αντιγραφοταν/διαγραφοταν και αυτο σωστα?
thessalonik Δημοσ. 16 Οκτωβρίου 2014 Μέλος Δημοσ. 16 Οκτωβρίου 2014 [nikos@dell tmp]$ tree . ├── in │ ├── foo_mp3_1 │ ├── foo_mp3_2 │ ├── foo_mp3_3 │ └── goomp3oog │ ├── goo_mp3_1 │ ├── goo_mp3_2 │ └── goo_mp3_3 └── out 3 directories, 6 files [nikos@dell tmp]$ cp -R ./in/*mp3* ./out/ [nikos@dell tmp]$ tree . ├── in │ ├── foo_mp3_1 │ ├── foo_mp3_2 │ ├── foo_mp3_3 │ └── goomp3oog │ ├── goo_mp3_1 │ ├── goo_mp3_2 │ └── goo_mp3_3 └── out ├── foo_mp3_1 ├── foo_mp3_2 ├── foo_mp3_3 └── goomp3oog ├── goo_mp3_1 ├── goo_mp3_2 └── goo_mp3_3 4 directories, 12 files [nikos@dell tmp]$ τελικα ναι αν αλλαξω το ονομα του 'goo' => 'goomp300g', τοτε κανει match και μπαινει μια χαρα μεσα στο υποφακελο του 'in' και κανει τις αντιγραφες που πρεπει. Στην περιπτωση που ο φακελος λεγοταν λεγοταν 'goo', τοτε τα παρακατω cp -R ./in/*mp3* ./out == cp ./in/*mp3* ./out rm -R ./in/*mp3* == rm ./in/*mp3* τυγχανει να εχουν την ιδια ακριβως λειτουργια, αλλα μονο σε αυτην την περιπτωση επειδη δεν γινετια το match με τον 'goo' φακελο.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα