Copiare da una directory i files e le directory in ordine di eta`, dal piu` vecchio al piu` recente, in una chiavetta usb, spostandoli infine in una diversa posizione
Ho pensato ad un utilizzo, sia con parametri da linea di comando, che inserimento manuale con relativa domanda, per questo ho lasciato alcune parti dello script, che, anche se non utilizzate o utilizzate solo in parte, possono servire per combinarlo come meglio si ritiene opportuno.
copy-and-move.sh
#!/bin/bash # Help if [[ $# -ne 3 || $1 = "-h" ]]; then echo "uso: $0 <directory e/o nomefile sorgente> \ <destinazione/percorso completo della directory dove copiare> \ <destinazione/percorso completo della directory dove spostare>" echo "" exit 1 fi # Fixed ? SOURCE="$1" DESTCP="$2" DESTMV="$3" echo -n "Name of the source directory [$SOURCE]: " read SOURCE if [ "$SOURCE"x = x ]; then SOURCE="$1"; fi echo -n "Name of the copy destination directory [$DESTCP]: " read DESTCP if [ "$DESTCP"x = x ]; then DESTCP="$2"; fi echo -n "Name of the move destination directory [$DESTMV]: " read DESTMV if [ "$DESTMV"x = x ]; then DESTMV="$3"; fi NOME="`ls -tr $SOURCE | cut -f1 | head -n 1`" while [ "$NOME" != "" ] do echo "Inizio copia .." cp -v -R "$SOURCE/$NOME" "$DESTCP"; if [ "$?" != "1" ] then echo "Inizio sposta .." mv -v "$SOURCE/$NOME" "$DESTMV" NOME="`ls -tr $SOURCE | cut -f1 | head -n 1`" else echo "Ended at: $SOURCE/$NOME" exit 1 fi done
L'uso e` semplice, richiamato senza parametri o con "-h", visualizza l'help.
Una volta eseguito con parametri, viene chiesta conferma per ogniuno e data la possibilita` di correggerlo, ma: attenzione a non sbagliare.
Quando la chiavetta e` piena, il comando copia va` in errore e mi fermo, visualizzando l'ultima copia in corso senza spostarla, cosi` da poterla eliminare dalla chiavetta ed averla ancora nella posizione originale per la volta successiva.
Dal primo "if", quello dell'help, si potrebbe eliminare la condizione dei parametri in avvio, la parte "$# -ne 3", optando per l'inserimento manuale alla richiesta.
Usatelo a vostro rischio, non mi assumo rensonsabilita`.
E se avete idee per perfezionarlo, usate il modulo commenti o scrivetemi una mail.
Se mi ricordo, poi vi "coloro" le scritte che passano a video quando ci sono tanti piccolo files ;)
Nessun commento:
Posta un commento