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

Προτεινόμενες αναρτήσεις

Δημοσ.

Εχω καποια αρχεια 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, τα φωτα σας!

Δημοσ.

http://www.cyberciti.biz/tips/howto-linux-unix-find-move-all-mp3-file.html

 

Ο διακόπτης -R δεν σημαίνει "ψάξε σε υποφακέλους" αλλά "αντέγραψε μαζί και τους υποφακέλους", όταν λοιπόν εσύ του λές cp -R ../tmp/*mp3* θα αντιγράψει ότι mp3 υπάρχουν μόνο μέσα στο ../tmp και όχι στους υποφακέλους του ../tmp

 

Από την στιγμή που δεν υπάρχουν mp3 απευθείας μέσα στο ../tmp, παρά μόνο φάκελοι, λογικό είναι να σου πετάει το μύνημα λάθους ότι δεν τα βρίσκει

Δημοσ.

Σας ευχαριστω για το 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 αλλα μετα γιατι να μην κοιταξει πιο μεσα?

Δημοσ.

"Ο διακόπτης -R δεν σημαίνει "ψάξε σε υποφακέλους" αλλά "αντέγραψε μαζί και τους υποφακέλους", όταν λοιπόν εσύ του λές cp -R ../tmp/*mp3* θα αντιγράψει ότι mp3 υπάρχουν μόνο μέσα στο ../tmp και όχι στους υποφακέλους του ../tmp"

 

Ακομα δεν το ξεκαθαρισα αυτο μεσα μου. Μηπως μπορεις να μου το κανεις περισσοτερο λιανα?"

 

cp -R ../tmp/*mp3* ./

 

Ψαξιμο μπορει να κανει μονο η find ναι αλλα και η cp  οταν δινεις ορισματα και αυτη ενα ειδος αναζητησης δεν κανει για να τα βρει βαση του ορισματος? οποτε γιατι να μην το κανει αυτο και σε sub-folder level?

Δημοσ.

Γιατί του είπες να αντιγράψει *mp3*, ΟΧΙ τους φακέλους μέσα στο /tmp. Του δηλώνεις ρητά τι θέλεις να αντιγράψει στην cp, ΔΕΝ κάνει αναζήτηση.

Δημοσ.

Γιατί του είπες να αντιγράψει *mp3*, ΟΧΙ τους φακέλους μέσα στο /tmp. Του δηλώνεις ρητά τι θέλεις να αντιγράψει στην cp, ΔΕΝ κάνει αναζήτηση.

 

για να το καταλαβω καλυτερα, επειδη ακομη καπως με δυσκολευει, απο τη μερια της η 'cp', τον διακοπτη '-R'

πως ακριβως τον αντιλαμβανεται? Ποτε θα λειτουργουσε σωστα αυτη η εντολη?

 

Δεν ξερω πολυ με μπερδευει... ισως γιατι την συσχτειζω με τη  'rm -R /fakelos' η οποια χωνεται μεσα στους υποφακελοπυς για να κανει την δουλεια της, οποτε δεν καταλαβαινω γιατι και η 'cp' να μην συμπεριφερεται αναλογα. 

Δημοσ.

Για να καταλάβεις τι γίνεται πρέπει να καταλάβεις τι ακριβώς κάνει match το

../tmp/*mp3*

Και για να το καταλάβεις αυτό πρέπει να μάθεις regular expressions.* Googl-αρε "posix + regex"

 

 

Αν βαλθεί να μάθει και regex μέσω forum, mea culpa guys και για τιμωρία, εγώ θα τα κόψω τα τεχνολογικά φορουμ.

 

Δημοσ.

Οχι μωρε ενταξει δεν θα το τραβηξουμε τοσο μακρια, απλα ειναι αυτος ο ατιμος ο -R διακοπτης που με μπερδευει τη μια οσον αφορα την διαγραφη  και την αλλη στην διαφορετικη συμπεριφορα οσον αφορα την αντιγραφη.

 

Λιγο θεωρητικο ξεκολλημα θελω ετσι ωστε να διακρινω την διαφορα.

Καποιος please με ενα 2 καλα ευδιακριτα παραδειγματα?

Δημοσ. (επεξεργασμένο)
$ 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 ότι θα με κάνεις να το μετανιώσω.

 

Επεξ/σία από pmav99
Δημοσ.

Οχι δεν θα σε κανω να το μετανιωσεις καθολου!

Με το οπτικο σχεδιαγραμμα που μου εδωσες το πραγμα ειναι πλεον ευδιακριτο!

 

το '-R' απο οτι καταλαβα μενει αδρανες εντελως γιατι δεν υπαρχουν sub-folders κατω απο το './in' φακελο.

Εαn υπηρχαν θα αντιγραφονταν/διαγραφονταν ολα τα αρχεια(mp3) μεσα και απο αυτους προς τον './out'.

 

Απλα "ετυχε" στην περιπτωση την δικη μου και την δικη σου να παραμενει αδρανης ο διακοπτης '-R' λογω μη υπαξης υπο-φακελων.

 

Με αλλα λογια, αν καταλαβα καλα:

 

cp -R ./in/*mp3* ./out == cp ./in/*mp3* ./out

 

rm -Rf ./in/*mp3* == rm ./in/*mp3*

 

αλλα μονο στην συγκεριμενη περιπτωση που παρεθεσες. Σωστα?!?

Δημοσ.

Καλημερα,

 

καλα το καταλαβα?


Αν το 'Goo' λεγοταν 'Goomp3oo'  θα γινοταν match και θα  αντιγραφοταν/διαγραφοταν και αυτο σωστα?

Δημοσ.

[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 -./in/*mp3* ./out == cp ./in/*mp3* ./out

 

rm -R ./in/*mp3* == rm ./in/*mp3*

 

τυγχανει να εχουν την ιδια ακριβως λειτουργια, αλλα μονο σε αυτην την περιπτωση επειδη δεν γινετια το match με τον 'goo' φακελο.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...