comando su più file

4 risposte [Ultimo messaggio]
Ritratto di massi2004
massi2004
(Junior)
Offline
Junior
Iscritto: 30/04/2006
Messaggi: 6

Ciao a tutti!
sto cercando un modo per eseguire un comando su più file in una stessa cartella. Si tratta della conversione di immagini da formato ".jpg" a formato ".eps".
Per un singolo file il comando è: jpeg2ps nome_file_input.jpg > nome_file_output
Se io volessi far eseguire lo stesso comando su tutti i file .jpg contenuti in una cartella come faccio? Sapete illuminarmi?
Grazie

Ritratto di orion
orion
(Guru)
Offline
Guru
Iscritto: 11/07/2006
Messaggi: 2919

Semplicemente usi un ciclo for.

In pratica for i in *.jpg; do<br />    jpeg2ps &quot;$i&quot; &gt; &quot;`echo $i|rev|cut -f2- -d.|rev`.eps&quot;<br />done

Il comando dentro il for potrebbe essere molto piu` semplice di quanto ho indicato, ma non sapendo che formato hanno i nomi dei file su cui agisci, la versione che ti ho indicato e` quella che ha meno problemi con i vari formati di nomi.

Mi raccomando, rispetta tutti gli apici singoli e doppi che ho messo.

Quando il comando ha terminato, ti ritroverai con tutte le immagini trasformate in eps, con il nome del file eps identico al nome dell'immagine originale.

openSUSE 12.1 on Acer Aspire 1810tz - LXDE ultima versione dal repo x11:/lxde

Ritratto di massi2004
massi2004
(Junior)
Offline
Junior
Iscritto: 30/04/2006
Messaggi: 6

Perfetto! Grazie ancora. Ciao

Ritratto di wal7er
wal7er
(Guru)
Offline
Guru
Iscritto: 21/09/2007
Messaggi: 572

Quote:

orion ha scritto:
for i in *.jpg; do<br />    jpeg2ps &quot;$i&quot; &gt; &quot;`echo $i|rev|cut -f2- -d.|rev`.eps&quot;<br />done<br />

Semplificando tutto, al posto di rivoltare due volte la stringa si puo' tagliare direttamente l'estensione del nome del file:

<br />for i in *.jpg; do<br />    jpeg2ps &quot;$i&quot; &gt; &quot;${i%.*}.eps&quot;<br />done<br />

Come al solito il riferimento per questi "giochini" e di altre cose e' advanced bash scripting http://tldp.org/LDP/abs/html/

HP Pavilion dv5-1110el powered by OpenSUSE 13.2 64bit

http://linuxcounter.net/cert/432576.png

Ritratto di AL9000
AL9000
(Guru)
Offline
Guru
Iscritto: 29/10/2005
Messaggi: 1277

mi inchino a tanta conoscenza, ma non sarebbe meglio un banalissimo service menù?

se si ha kde c'è il validissimo converter

si selezionano i files da modificare, si clicca col destro-->azioni-->convertire a-->qualsiasi formato immagine uno desideri.

Ciao

Chi è investito di un'autorità si trasformerà inevitabilmente, secondo una legge sociale immutabile, in un oppressore ed in uno sfruttatore della società. (M.A. Bakunin)