Αποστολέας Θέμα: Ομαδική αντιγραφή αρχείων από πολλαπλούς φακέλους  (Αναγνώστηκε 392 φορές)

za√‘ag

  • Μάχιμος ... ΟΧΙ ... κοπρίτης
  • Δεινόσαυρος
  • *****
  • Μηνύματα: 763
  • Παλιά λεγόμασταν ΔΟΥΛΟΙ. Σήμερα ... ΕΡΓΑΖΟΜΕΝΟΙ
    • Το Blog μου
   Έχω φακέλους χρηστών της μορφής 2lapexa-01 (έως 12) και 2lapexb-01 (έως 12) … δηλ. 24 χρήστες και ένα φάκελο σε φλασάκι. Ο σκληρός δίσκος είναι εξωτερικός USB. Δηλ. οι φάκελοι των χρηστών έχουν τη μορφή:
 
/media/vag/serial_δισκου/2lapexa-01/Έγγραφα (αυτός ο φάκελος με ενδιαφέρει)
 
και στο φλασάκι /media/vag/serial_flash_disk/sxoleio_a
 
 Θέλω λοιπόν με ένα script να αντιγράψω όσα αρχεία περιέχει ο φάκελος Έγγραφα για κάθε χρήστη  στον φάκελο sxoleio-a στο φλασάκι …. τα αρχεία που θα αντιγραφτούν έχουν ως όνομα τα επώνυμα των μαθητών. Αν για κάποιο λόγο κάποιος έχει βάλει παραπάνω από ένα αρχείο στο φάκελό του δεν ξέρω πώς πρέπει να αποφευχθεί η τυχόν ταύτισή του με άλλον … μπορεί πχ να ρωτάει τι να κάνει …

Ευχαριστώ
«Δεν υπάρχει λόγος να θέλει κανείς έναν υπολογιστή στο σπίτι του»--Ken Olson, πρ. της DEC, 1977
«Τα 640KB RAM επαρκούν για να τρέξει κάθε πρόγραμμα»--Bill Gates
Δείτε κι άλλες ιστορικές ατάκες  εδώ

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 4832
    • alkisg@im.sch.gr
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Ομαδική αντιγραφή αρχείων από πολλαπλούς φακέλους
« Απάντηση #1 στις: 09 Ιαν 2019, 06:41:30 μμ »
Παίξε με την εντολή ls μέχρι να σου δείξει αυτά που θες. Παράδειγμα:
ls /media/vag/serial_δισκου/2lapexa-*/Έγγραφα/*.odt

Αφού το πετύχεις, άλλαξε την ls σε cp:
cp /media/vag/serial_δισκου/2lapexa-*/Έγγραφα/*.odt /media/vag/serial_flash_disk/sxoleio_a/

za√‘ag

  • Μάχιμος ... ΟΧΙ ... κοπρίτης
  • Δεινόσαυρος
  • *****
  • Μηνύματα: 763
  • Παλιά λεγόμασταν ΔΟΥΛΟΙ. Σήμερα ... ΕΡΓΑΖΟΜΕΝΟΙ
    • Το Blog μου
Απ: Ομαδική αντιγραφή αρχείων από πολλαπλούς φακέλους
« Απάντηση #2 στις: 09 Ιαν 2019, 08:33:17 μμ »
Δίκιο έχεις .... είχα στο μυαλό μου κάτι πιο πολύπλοκο (with .. do ) κάτι με επανάληψη ... που δεν το πολυκατέχω γιαυτό το έβαλα εδώ ...

Ευχαριστώ
«Δεν υπάρχει λόγος να θέλει κανείς έναν υπολογιστή στο σπίτι του»--Ken Olson, πρ. της DEC, 1977
«Τα 640KB RAM επαρκούν για να τρέξει κάθε πρόγραμμα»--Bill Gates
Δείτε κι άλλες ιστορικές ατάκες  εδώ

za√‘ag

  • Μάχιμος ... ΟΧΙ ... κοπρίτης
  • Δεινόσαυρος
  • *****
  • Μηνύματα: 763
  • Παλιά λεγόμασταν ΔΟΥΛΟΙ. Σήμερα ... ΕΡΓΑΖΟΜΕΝΟΙ
    • Το Blog μου
Απ: Ομαδική αντιγραφή αρχείων από πολλαπλούς φακέλους
« Απάντηση #3 στις: 26 Ιαν 2019, 05:41:55 μμ »
Παίξε με την εντολή ls μέχρι να σου δείξει αυτά που θες. Παράδειγμα:
ls /media/vag/serial_δισκου/2lapexa-*/Έγγραφα/*.odt

...

και πώς το βάζεις να ψάξει όλο το φάκελο του χρήστη (όχι μόνο το Έγγραφα);
και μετά να τα βάλει όλα μαζί σε ενα φάκελο στο φλασάκι;
«Δεν υπάρχει λόγος να θέλει κανείς έναν υπολογιστή στο σπίτι του»--Ken Olson, πρ. της DEC, 1977
«Τα 640KB RAM επαρκούν για να τρέξει κάθε πρόγραμμα»--Bill Gates
Δείτε κι άλλες ιστορικές ατάκες  εδώ

za√‘ag

  • Μάχιμος ... ΟΧΙ ... κοπρίτης
  • Δεινόσαυρος
  • *****
  • Μηνύματα: 763
  • Παλιά λεγόμασταν ΔΟΥΛΟΙ. Σήμερα ... ΕΡΓΑΖΟΜΕΝΟΙ
    • Το Blog μου
Απ: Ομαδική αντιγραφή αρχείων από πολλαπλούς φακέλους
« Απάντηση #4 στις: 26 Ιαν 2019, 07:21:16 μμ »
και πώς το βάζεις να ψάξει όλο το φάκελο του χρήστη (όχι μόνο το Έγγραφα);
και μετά να τα βάλει όλα μαζί σε ενα φάκελο στο φλασάκι;

Οκ ... το έφτιαξα ... και με script !!

αυτό το στυλ:

Κώδικας: [Επιλογή]
for j in {1..9}
 do
    sudo find /media/vag/95e42ee9-41b8-483e-9a4d-687d6cf61191/2lapexa-0$j/. -print | grep -i '.*[.]sb2' > 2lapexa-0$j
    mapfile -t files < 2lapexa-0$j
    cp -- "${files[@]}" /media/vag/LG_DRIVE/ERGASIES/2lapapl/test/
 done

for j in {10..12}
 do
   sudo find /media/vag/95e42ee9-41b8-483e-9a4d-687d6cf61191/2lapexa-$j/. -print | grep -i '.*[.]sb2' > 2lapexa-$j
   mapfile -t files < 2lapexa-$j
   cp -- "${files[@]}" /media/vag/LG_DRIVE/ERGASIES/2lapapl/test/
done
«Δεν υπάρχει λόγος να θέλει κανείς έναν υπολογιστή στο σπίτι του»--Ken Olson, πρ. της DEC, 1977
«Τα 640KB RAM επαρκούν για να τρέξει κάθε πρόγραμμα»--Bill Gates
Δείτε κι άλλες ιστορικές ατάκες  εδώ

happiness

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 178
Απ: Ομαδική αντιγραφή αρχείων από πολλαπλούς φακέλους
« Απάντηση #5 στις: 26 Μάρ 2019, 09:16:57 πμ »
Υπάρχει περίπτωση με αυτό το σκριπτ να μπορέσω να κάνω και μετονομασία, προσθέτοντας ένα επίθεμα πχ 01,02... ανάλογα τον client και μετά να αντιγράψω τα αρχεία;