[Risolto]ordinare files estratti da hard disk corrotto
-
- Prode Principiante
- Messaggi: 109
- Iscrizione: martedì 14 giugno 2011, 12:16
- Desktop: ubuntu
- Distribuzione: Ubuntu 21.10 x64
- Sesso: Maschile
- Località: Avellino
[Risolto]ordinare files estratti da hard disk corrotto
Gentilissimi, buon pomeriggio e buona Epifania. Come si intuisce dal titolo, ho recuperato dati da un hard disk defunto, ed ovviamente sono venuti fuori dati alla rinfusa, a seconda del settore occupato nel disco. Vorrei ricreare un ordine fungibile dei files contenuti nelle oltre 600 cartelle di recupero. Visto che, ahimè, avevo files di diverso tipo nel disco esterno, ho bisogno di creare vari script basati su alcuni metadati contenuti nei files: ad esempio, voglio recuperare le fotografie per:
1) modello fotocamera/cellulare
2) anno
3) mese
4) giorno;
con ciò intendo che giorno è una sottocartella di mese, mese è sottocartella di anno, anno è sottocartella del modello, nella classica struttura ad albero; così, se vi sono fotografie (e ve ne sono) scattate con il cellulare, non finiscono nelle foto scattate con una macchina fotografica;
musica:
1) cartella autore
2) cartella album
3) file con titolo del brano preso dai metadati;
video:
modello videocamera/cellulare
anno/mese/giorno;
files word, excel, pdf tutti in una cartella, poi vedo manualmente che ci sta
files .exe tutti in una cartella
archivi dei programmi ubuntu in un'altra cartella.
files residui: vi dovrebbero essere files android, al momento non ho idea di come sistemarli, poi mi faccio venire un'idea in mente.
Ciò che vorrei, però, è essere anche spiegato il contenuto dello script, così da poterlo modificare in seguito, all'occorrenza, e come renderlo eventualmente eseguibile.
Grazie a tutti per l'aiuto
1) modello fotocamera/cellulare
2) anno
3) mese
4) giorno;
con ciò intendo che giorno è una sottocartella di mese, mese è sottocartella di anno, anno è sottocartella del modello, nella classica struttura ad albero; così, se vi sono fotografie (e ve ne sono) scattate con il cellulare, non finiscono nelle foto scattate con una macchina fotografica;
musica:
1) cartella autore
2) cartella album
3) file con titolo del brano preso dai metadati;
video:
modello videocamera/cellulare
anno/mese/giorno;
files word, excel, pdf tutti in una cartella, poi vedo manualmente che ci sta
files .exe tutti in una cartella
archivi dei programmi ubuntu in un'altra cartella.
files residui: vi dovrebbero essere files android, al momento non ho idea di come sistemarli, poi mi faccio venire un'idea in mente.
Ciò che vorrei, però, è essere anche spiegato il contenuto dello script, così da poterlo modificare in seguito, all'occorrenza, e come renderlo eventualmente eseguibile.
Grazie a tutti per l'aiuto
Ultima modifica di trekfan1 il sabato 12 gennaio 2019, 15:49, modificato 2 volte in totale.
Motivazione: Per il futuro evita il tutto maiuscolo nel [Risolto], grazie
Motivazione: Per il futuro evita il tutto maiuscolo nel [Risolto], grazie
Grazie!
Andrea Rigione
Andrea Rigione
- steff
- Moderatore Globale
- Messaggi: 40301
- Iscrizione: domenica 18 febbraio 2007, 19:48
- Desktop: LXQt+labwc
- Distribuzione: Arch; Debian; Ubuntu Server
- Sesso: Maschile
- Località: Toscana
- Contatti:
Re: ordinare files estratti da hard disk corrotto
Nella mia raccolta ho uno script che copia e rinomina le foto:
Ovviamente è solo una base da poter partire forse.
PS: Vedo che qui ci sono script migliori:
https://www.cgsecurity.org/wiki/After_U ... _extension
Codice: Seleziona tutto
#!/bin/bash
#rinomina *jpg da photorec per data exif .
# Cambia $4 in $4$5 se vuoi anche hour:minutes:seconds
#Crea cartella ~/lost-jpg e esegui il comando dalla cartella che contiene il recup_dir-*
for i in recup_dir/*.jpg; do cp $i ~/lost-jpg/`exiv2 -p s $i | grep timestamp | awk '{print $4 $1 $5}'`.jpg; done
PS: Vedo che qui ci sono script migliori:
https://www.cgsecurity.org/wiki/After_U ... _extension
Hai fatto un backup oggi? Ieri?? Quando???
La Documentazione da consultare e la FAQ sul uso del forum
Sistemi: LXQt - semplice, modulare e configurabile + *ubuntu in Vbox
La Documentazione da consultare e la FAQ sul uso del forum
Sistemi: LXQt - semplice, modulare e configurabile + *ubuntu in Vbox
-
- Prode Principiante
- Messaggi: 109
- Iscrizione: martedì 14 giugno 2011, 12:16
- Desktop: ubuntu
- Distribuzione: Ubuntu 21.10 x64
- Sesso: Maschile
- Località: Avellino
Re: ordinare files estratti da hard disk corrotto
quindi se io volessi riscrivere a mio uso e consumo uno script per il recupero delle immagini? Se avviassi uno script "generico" sposterebbe tutte le immagini in una cartella, prendendo anche le immagini dei programmi salvati in memoria, invece a me serve scrivere (non sono un informatico, purtroppo, ma mi sa che nel 2019 qualche linguaggio lo devo per forza imparare) qualcosa che identifichi il modello della fotocamera dai dati exif e cataloghi i files per anno-mese-giorno. Si può fare?
Grazie!
Andrea Rigione
Andrea Rigione
- steff
- Moderatore Globale
- Messaggi: 40301
- Iscrizione: domenica 18 febbraio 2007, 19:48
- Desktop: LXQt+labwc
- Distribuzione: Arch; Debian; Ubuntu Server
- Sesso: Maschile
- Località: Toscana
- Contatti:
Re: ordinare files estratti da hard disk corrotto
Si può fare ma perché non usare questo?:
- mette le immagini dentro jpg/anno/evento
- crea cartelle per ogni estensione (eventualmente con sottocartelle) e ci butta i relativi fileUsing a more complex Python script
There is a more extended Python program sort-PhotorecRecoveredFiles that does the following things with your recovered data:
Sort all files by file extensions into own folders.
Limit the number of files/folder by creating subfolders if a certain numbers is exceeded. The file/folder number can be customized.
For all jpgs: put them into own folders per year when they have been created (EXIF-Data). Within a year folders for every event are created, e.g. all photos taken at one weekend or vacation are sorted into one folder.
- mette le immagini dentro jpg/anno/evento
Hai fatto un backup oggi? Ieri?? Quando???
La Documentazione da consultare e la FAQ sul uso del forum
Sistemi: LXQt - semplice, modulare e configurabile + *ubuntu in Vbox
La Documentazione da consultare e la FAQ sul uso del forum
Sistemi: LXQt - semplice, modulare e configurabile + *ubuntu in Vbox
-
- Prode Principiante
- Messaggi: 109
- Iscrizione: martedì 14 giugno 2011, 12:16
- Desktop: ubuntu
- Distribuzione: Ubuntu 21.10 x64
- Sesso: Maschile
- Località: Avellino
Re: ordinare files estratti da hard disk corrotto
Perché non voglio copiare e incollare istruzioni ma capire cosa faccio e modificare le istruzioni a mio uso e consumo per iniziare ad imparare il linguaggio
Grazie!
Andrea Rigione
Andrea Rigione
- steff
- Moderatore Globale
- Messaggi: 40301
- Iscrizione: domenica 18 febbraio 2007, 19:48
- Desktop: LXQt+labwc
- Distribuzione: Arch; Debian; Ubuntu Server
- Sesso: Maschile
- Località: Toscana
- Contatti:
Re: ordinare files estratti da hard disk corrotto
Quale linguaggio?
Hai fatto un backup oggi? Ieri?? Quando???
La Documentazione da consultare e la FAQ sul uso del forum
Sistemi: LXQt - semplice, modulare e configurabile + *ubuntu in Vbox
La Documentazione da consultare e la FAQ sul uso del forum
Sistemi: LXQt - semplice, modulare e configurabile + *ubuntu in Vbox
-
- Prode Principiante
- Messaggi: 109
- Iscrizione: martedì 14 giugno 2011, 12:16
- Desktop: ubuntu
- Distribuzione: Ubuntu 21.10 x64
- Sesso: Maschile
- Località: Avellino
Re: ordinare files estratti da hard disk corrotto
beh, penso che bash sia il linguaggio più opportuno, per queste operazioni. O no...?
Grazie!
Andrea Rigione
Andrea Rigione
-
- Prode Principiante
- Messaggi: 109
- Iscrizione: martedì 14 giugno 2011, 12:16
- Desktop: ubuntu
- Distribuzione: Ubuntu 21.10 x64
- Sesso: Maschile
- Località: Avellino
Re: ordinare files estratti da hard disk corrotto
Comunque, leggendo un po', ho provato con il comando find da terminale ed ho digitato:
nel tentativo di leggere dagli exif dei files raw delle mie fotocamere il modello e la data della foto...
terminale mi restituisce:
che specifiche devo aggiungere? Model e DateTime li ho letti con Rawtherapee, e speravo nel potere della botta di fortuna.
Però prenderò almeno mp3, mpeg, mov, avi, pdf, .doc .xls, odf, ods, exe per ordinarli in cartelle per estensione...
Codice: Seleziona tutto
find /media/andrea/'Seagate 4TB'/recup_dir* -name \*.cr2 -exec mv {} /media/andrea/'Seagate 4TB'/Model/DateTime \;
terminale mi restituisce:
Codice: Seleziona tutto
mv: impossibile spostare '/media/andrea/Seagate 4TB/recup_dir.647/f3895796016.cr2' in '/media/andrea/Seagate 4TB/Model/DateTime': File o directory non esistente
Però prenderò almeno mp3, mpeg, mov, avi, pdf, .doc .xls, odf, ods, exe per ordinarli in cartelle per estensione...
Grazie!
Andrea Rigione
Andrea Rigione
- UbuNuovo
- Imperturbabile Insigne
- Messaggi: 4446
- Iscrizione: sabato 12 dicembre 2009, 20:58
- Desktop: Mate
- Distribuzione: Ubuntu Mate 22.04.1 LTS
- Sesso: Maschile
- Contatti:
Re: ordinare files estratti da hard disk corrotto
Non puoi scrivere codice a caso!
In quel modo dove usi exiftool o simili?
Ti è stato proposto uno script che fa proprio quello che ti serve; cerca di capire quel codice, oltretutto comprensibilissimo.
Mi sembra inutile riscrivere le stesse cose in un altro linguaggio.
In quel modo dove usi exiftool o simili?
Ti è stato proposto uno script che fa proprio quello che ti serve; cerca di capire quel codice, oltretutto comprensibilissimo.
Mi sembra inutile riscrivere le stesse cose in un altro linguaggio.
Salva l'Ucraina!
-
- Prode Principiante
- Messaggi: 109
- Iscrizione: martedì 14 giugno 2011, 12:16
- Desktop: ubuntu
- Distribuzione: Ubuntu 21.10 x64
- Sesso: Maschile
- Località: Avellino
Re: ordinare files estratti da hard disk corrotto
E chi vuole scrivere codice a caso?UbuNuovo [url=https://forum.ubuntu-it.org/viewtopic.php?p=5107113#p5107113][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Non puoi scrivere codice a caso!
Ho appunto chiesto di essere spiegato l'errore/gli errori...UbuNuovo [url=https://forum.ubuntu-it.org/viewtopic.php?p=5107113#p5107113][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:In quel modo dove usi exiftool o simili?
Ho anche scritto che non ne so nulla di programmazione e non voglio copiare ad catsum canis codice che non so cosa faccia, come farebbe un imbecille, ma voglio fare una cosa fatta per bene, capendo come e dove modificare il codice per il mio metodo di archiviazione. Sarà comprensibilissimo a te, il linguaggio, ma non abbiamo tutti lo stesso livello di conoscenze, e credo che sia saccente, poco garbato oltreché di scarso aiuto il tuo commento.UbuNuovo [url=https://forum.ubuntu-it.org/viewtopic.php?p=5107113#p5107113][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Ti è stato proposto uno script che fa proprio quello che ti serve; cerca di capire quel codice, oltretutto comprensibilissimo.
Si dà il caso che anche lo script gentilmente postato precedentemente fosse in bash... Ba(s)h!Mi sembra inutile riscrivere le stesse cose in un altro linguaggio.
Grazie!
Andrea Rigione
Andrea Rigione
- UbuNuovo
- Imperturbabile Insigne
- Messaggi: 4446
- Iscrizione: sabato 12 dicembre 2009, 20:58
- Desktop: Mate
- Distribuzione: Ubuntu Mate 22.04.1 LTS
- Sesso: Maschile
- Contatti:
Re: ordinare files estratti da hard disk corrotto
È proprio perché hai detto che "non vuoi usare codice che non capisci" che mi ha colpito la tua riga di codice!
Qualche consiglio e poi non intervengo più.
Non usare il globbing sul path di find, usa il path della directory superiore, find opera ricorsivamente di default.
Invece di quotare parti interne al path quotalo ad inizio e fine, risulta più comprensibile; per esempio, invece di:usa
quota l'espressione dopo '-name', si individua meglio la particella rispetto all'escape, per esempio:
quota anche il segnaposto di '-exec', per esempio:
il tuo codice, probabilmente funzionerebbe ugualmente, perché photorec crea file e directory senza spazi nei nomi, ma è consigliabile prendere come abitudine quotare.
per eseguire mv, cp etc., le directory di destinazione devono esistere!
Prima di eseguire lo spostamento devi fare varie operazioni: estrazione dati exif; estrazione anno, estrazione mese, estrazione giorno, dalla data exif e in base a questi dati creare le relative directory di destinazione (se non esistono già) e solo alla fine potrai fare lo spostamento.
Per questo motivo devi fare un ciclo su quanto trovato da find.
Inoltre, visto che devi spostare vari tipi di file, non ti conviene eseguire un find per ogni tipo.
Io cercherei tutti i file con find e all'interno del ciclo individuerei i tipi di file (per estensione o con il comando 'file') e poi eseguirei il codice più adatto per maneggiare quel tipo di file.
Preserva sempre i dati originali, lavora su una copia e/o prima di fare gli spostamenti simula mettendo 'echo' davanti al comando, per esempio:
Qualche consiglio e poi non intervengo più.
Non usare il globbing sul path di find, usa il path della directory superiore, find opera ricorsivamente di default.
Invece di quotare parti interne al path quotalo ad inizio e fine, risulta più comprensibile; per esempio, invece di:
Codice: Seleziona tutto
/media/andrea/'Seagate 4TB'/recup_dir
Codice: Seleziona tutto
'/media/andrea/Seagate 4TB/recup_dir'
Codice: Seleziona tutto
-name '*.cr2'
Codice: Seleziona tutto
-exec mv '{}'
per eseguire mv, cp etc., le directory di destinazione devono esistere!
Prima di eseguire lo spostamento devi fare varie operazioni: estrazione dati exif; estrazione anno, estrazione mese, estrazione giorno, dalla data exif e in base a questi dati creare le relative directory di destinazione (se non esistono già) e solo alla fine potrai fare lo spostamento.
Per questo motivo devi fare un ciclo su quanto trovato da find.
Inoltre, visto che devi spostare vari tipi di file, non ti conviene eseguire un find per ogni tipo.
Io cercherei tutti i file con find e all'interno del ciclo individuerei i tipi di file (per estensione o con il comando 'file') e poi eseguirei il codice più adatto per maneggiare quel tipo di file.
Codice: Seleziona tutto
while read f;do
if IL TIPO DI FILE È JPG;then
elaborazioni per i file jpg
elif IL TIPO DI FILE È MP3;then
elaborazioni per i file MP3
elif IL TIPO DI FILE È MP4;then
elaborazioni per i file MP4
...
else
elaborazione per tutti gli altri tipi di file
fi
done < <(find 'DIR_GENITORE' -type -f )
Codice: Seleziona tutto
echo mv "$f" "$dest/"
Salva l'Ucraina!
-
- Prode Principiante
- Messaggi: 109
- Iscrizione: martedì 14 giugno 2011, 12:16
- Desktop: ubuntu
- Distribuzione: Ubuntu 21.10 x64
- Sesso: Maschile
- Località: Avellino
Re: ordinare files estratti da hard disk corrotto
grazie, adesso sei stato più "simpatico" comunque sono rimasti solo i cr2 e i jpg, gli altri tipi di file li ho spostati già con find, la cui sintassi ho trovato molto comprensibile. Domani studio meglio il tuo suggerimento perchè le cartelle "/modello della fotocamera/anno/mese" esistono già, ma forse il linguaggio non sa che il nome della directory e di quei numeretti nelle sub sono proprio le cartelle di destinazione
Grazie!
Andrea Rigione
Andrea Rigione
-
- Prode Principiante
- Messaggi: 109
- Iscrizione: martedì 14 giugno 2011, 12:16
- Desktop: ubuntu
- Distribuzione: Ubuntu 21.10 x64
- Sesso: Maschile
- Località: Avellino
Re: ordinare files estratti da hard disk corrotto
sempre con find, ho spostato anche cr2 e jpg in cartelle apposite per tipo file. Non ho più la distinzione per fotocamera, però almeno ho la cartella raw e la cartella jpg.
Per chi, come me, ne sapesse poco o nulla di programmazione, lascio una riga generica sul funzionamento di find:
Per chi, come me, ne sapesse poco o nulla di programmazione, lascio una riga generica sul funzionamento di find:
Codice: Seleziona tutto
find /percorso/origine/'metti gli apici singoli se ci sono spazi nel nome della directory' -oggettoricercato \*.estensione -comando {} /percorso/destinazione
Grazie!
Andrea Rigione
Andrea Rigione
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 17 ospiti