[RISOLTO][Bash]Conversione immagini

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Scrivi risposta
Xeanort
Prode Principiante
Messaggi: 71
Iscrizione: domenica 8 gennaio 2012, 17:48

[RISOLTO][Bash]Conversione immagini

Messaggio da Xeanort »

Buon dì,
ho la necessità di convertire molte immagini (.JPG) e file adobe (.PDF) in un unico file .pdf per ogni cartella.

In pratica all'interno di una cartella principale ne ho molte altre che contengono o tante immagini.jpg o tanti file.pdf che devono essere convertiti in un file_unico.pdf per ogni cartella, con il nome della cartella stessa.
Quindi da tante cartelle a tanti file unici (anche senza cancellare le cartelle).

La mia idea per il momento è di passare ogni singola cartella e convertire il tutto con

Codice: Seleziona tutto

for file in *.jpg ; do convert *.jpg cartella.pdf ; done
e poi rinominare ogni file ottenuto, ma è un lavoro troppo lungo...

Pensavo di usare "grep", ma non riesco ad utilizzarlo nel modo giusto.


Grazie mille!
Xeanort
Ultima modifica di Xeanort il martedì 12 agosto 2014, 18:52, modificato 1 volta in totale.
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: [Bash]Conversione immagini

Messaggio da crap0101 »

una cosa del genere

Codice: Seleziona tutto

for d in CART/*/;do convert $d/*.* $d.pdf;done
dove CART è la cartella principale contenente le sottodirectory al cui interno ci sono i file jpg/pdf.
Questo è proprio il metodo grezzo e basilare, per un lavoro più accurato vedi le opzioni di convert o magari, al suo posto, "montage" che se non ricordo male è molto più flessibile per un caso del genere.
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4446
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: [Bash]Conversione immagini

Messaggio da UbuNuovo »

Io salverei in una nuova dir "pdf" e userei "basename" per il nome dei file pdf, in modo da lasciare le directory originali invariate e raccogliere i pdf in un'unica directory.

Codice: Seleziona tutto

mkdir pdf
for d in ./foto/*/;do convert "$d/*.jpg" "pdf/$(basename "$d").pdf";done
Edit: @crap a me il tuo script mi crea dei file jpeg con nomi del tipo "-0 ", "-1".
Non capisco il perché! Sembra che si crei le immagini da inserire nel pdf ma poi non porti a termine l'operazione.
Non stampa neanche nessun messaggio di errore!
Bo?

riedit: Trovata la magagna! Così funge, creando i pdf con i nomi giusti all'interno delle rispettive directory : )

Codice: Seleziona tutto

for d in ./foto/*/;do convert "$d/*.jpg" "$d/$(basename "$d").pdf";done
Salva l'Ucraina! 🇺🇦
Xeanort
Prode Principiante
Messaggi: 71
Iscrizione: domenica 8 gennaio 2012, 17:48

Re: [Bash]Conversione immagini

Messaggio da Xeanort »

Perfetto, l'ho aggiustato, usando anche il primo consiglio, e ora va sia per .jpg che per .pdf (in realtà per tutte le estensioni):

Codice: Seleziona tutto

for d in ./file/*/;do convert "$d/*.*" "$(basename "$d").pdf";done
Non sapevo che si poteva usare così la variabile ("d" in questo caso), comunque non mi serviva il pdf in ogni cartella ;)


Grazie mille per l'aiuto preciso e veloce!
Ciao!
Xeanort
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4446
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: [Bash]Conversione immagini

Messaggio da UbuNuovo »

Bene! Avevo capito che dovessi convertire solo i jpg... ora ho riletto meglio!
Ricordati di mettere risolto al primo messaggio.
Nano nano
Salva l'Ucraina! 🇺🇦
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: [Bash]Conversione immagini

Messaggio da crap0101 »

Edit: @crap a me il tuo script mi crea dei file jpeg con nomi del tipo "-0 ", "-1".
Non capisco il perché! Sembra che si crei le immagini da inserire nel pdf ma poi non porti a termine l'operazione.
Non stampa neanche nessun messaggio di errore!
Bo?
già, ho notato, avevo fatto una prova con path non contenenti spazi e andava tutto ok, altrimenti dà quel risultato... sembrerebbe un bug (non son sicuro se della bash o di convert) anche perchè, come dici, non vengono segnalati errori, ma il risultato è scorretto; inoltre eseguendo il comando singolarmente funziona.
btw, un'altra possibile causa potrebbe essere il nome di $d che terminando con lo slash confonde convert... nel seguente modo, eliminandolo, pare funzionare:

Codice: Seleziona tutto

for d in CART/*/;do convert $d/*.* ${d%%/}.pdf;done
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4446
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: [Bash]Conversione immagini

Messaggio da UbuNuovo »

crap0101 [url=http://forum.ubuntu-it.org/viewtopic.php?p=4631947#p4631947][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
btw, un'altra possibile causa potrebbe essere il nome di $d che terminando con lo slash confonde convert... nel seguente modo, eliminandolo, pare funzionare:

Codice: Seleziona tutto

for d in CART/*/;do convert $d/*.* ${d%%/}.pdf;done
Si, credo sia quello il problema, avevo fatto qualche prova e mi ero accorto che si perderva il percorso o mi cercava l'immagine pdf al posto di quella originale!
Salva l'Ucraina! 🇺🇦
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4446
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: [RISOLTO][Bash]Conversione immagini

Messaggio da UbuNuovo »

A me lo faceva anche con path non contenenti spazi; purtroppo ho buttato via la directory e gli appunti con le prove : (
Salva l'Ucraina! 🇺🇦
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: [RISOLTO][Bash]Conversione immagini

Messaggio da crap0101 »

UbuNuovo [url=http://forum.ubuntu-it.org/viewtopic.php?p=4631953#p4631953][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:A me lo faceva anche con path non contenenti spazi; purtroppo ho buttato via la directory e gli appunti con le prove : (
eh vabbè, comunque l'errore (mio) e il problema principale penso sia proprio dovuto a non aver controllato l'eventuale presenza dello slash finale.
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4446
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: [RISOLTO][Bash]Conversione immagini

Messaggio da UbuNuovo »

L'importante è essere riusciti porvi rimedio.
Salva l'Ucraina! 🇺🇦
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 21 ospiti