andrewcl82 Inviato 21 Luglio 2011 Segnala Condividi Inviato 21 Luglio 2011 Salve a tutti premetto che di programmazione sono il più ignorante del pianeta ho un file con riferimenti a delle foto mi servirebbe qualcosa che rinomini parte del file tenendo conto del file in questione link per scaricare una cartella "tipo" http://www.megaupload.com/?d=SMO4BEEJ il file di riferimento da aprire si può aprire con textedit è dentro la cartella "misc" la cartella "image" dovrebbe essere rinominata in "image_contenutodelrigo_PRT PSL = NML -PSIZE "8x10" in questo caso "image_8x10" e ogni foto in "nome foto_PRT QTY" esempio "098711_1_X001.jpg" grazie in anticipo a chi mi vuole aiutare Link al commento Condividi su altri siti Altre opzioni di condivisione...
Pandax Inviato 21 Luglio 2011 Segnala Condividi Inviato 21 Luglio 2011 non ho capito cosa vuoi ottenere Link al commento Condividi su altri siti Altre opzioni di condivisione...
andrewcl82 Inviato 22 Luglio 2011 Autore Segnala Condividi Inviato 22 Luglio 2011 lo so: sono una "bestia" anche quando devo scrivere il file "AUTOPRINT.MRK" è diviso in una parte che descrive, tra l'altro, il formato di stampa e una parte che descrive la quantità per ciascuna foto prendendo come esempio le cartelle postate (ovviamente la quantità delle foto e la misura sono sempre diverse) il risultato che vorrei ottenere: cartella "image" rinominata in "image_8x10" e tutte le foto in "*****_x001" visto che in tutte è specificato PRT QTY 001 se in altra circostanza si trova al 10° rigo "PSIZE 4X6" la cartella "image" diventerà "image_4x6" se nel rigo riferito ad una specifica foto PRT QTY è diverso da 001 il nome del file diventerà "***_00*" spero di essere stato più chiaro Uploaded with ImageShack.us Link al commento Condividi su altri siti Altre opzioni di condivisione...
andrewcl82 Inviato 26 Luglio 2011 Autore Segnala Condividi Inviato 26 Luglio 2011 Link al commento Condividi su altri siti Altre opzioni di condivisione...
fra.makaveli Inviato 27 Luglio 2011 Segnala Condividi Inviato 27 Luglio 2011 Vediamo se ho capito.. Te hai questo file e una cartella chiamata image con dentro delle foto. Quello che vorresti fare è rinominare cartella e foto dentro in base ai dati che prendi dal file di testo, giusto? Dato che mi dici che non sai niente di programmazione lascio stare il C Dovresti provare con uno script bash o applescript. Potresti cercare la stringa "PRT PSL = NML -PSIZE " e salvarti il contenuto del psize. Poi stessa cosa per la foto.. una volta ottenuti i nuovi nomi basta lanciare il comando "mv nome_originale nome_nuovo" per rinominarlo. Ciao Link al commento Condividi su altri siti Altre opzioni di condivisione...
andrewcl82 Inviato 27 Luglio 2011 Autore Segnala Condividi Inviato 27 Luglio 2011 bravissimo hai capito grazie 100000 ma come premesso l'ignoranza in materia mi prende a sberle Link al commento Condividi su altri siti Altre opzioni di condivisione...
fra.makaveli Inviato 28 Luglio 2011 Segnala Condividi Inviato 28 Luglio 2011 ma come premesso l'ignoranza in materia mi prende a sberle Per questo che ho proposto script invece di programmazione... Non ho mai programmato in AppleScript, ma ho sentito dire che è carino. Se invece lo fai in bash, lo script funzionerà su qualsiasi sistema basato su Unix. Cmq la struttura l'ho delineata nel precedente post. Prova a cercare su internet qualche introduzione alla bash. Non è necessaria una conoscenza di programmazione. Diciamo che lo script replica in automatico quello che faresti te a mano col terminale.. quindi è un po' più semplice. Fai qualche prova, poi se hai problemi postala qui che ci diamo un'occhiata. Ciao Link al commento Condividi su altri siti Altre opzioni di condivisione...
andrewcl82 Inviato 28 Luglio 2011 Autore Segnala Condividi Inviato 28 Luglio 2011 da quello che ho capito e quello che ho trovato googleando: da terminale: vim /percorsofile/ (per aprire il file) cercare la stringa e copiare il contenuto tra ""virgolette (non so come) andare nella precedente cartella e fare un "mv /nome cartella nomecartellada appunti se tutto funziona si può creare lo script per dare tutti i comandi in automatico partendo dal file Link al commento Condividi su altri siti Altre opzioni di condivisione...
fra.makaveli Inviato 28 Luglio 2011 Segnala Condividi Inviato 28 Luglio 2011 Per darti una idea questo è il pezzo che si occupa della cartella: #!/bin/bash FILENAME="MISC/AUTPRINT.MRK" FOLDER_REGEX='PRT PSL = NML -PSIZE "(.*)"' while read line do if [[ $line =~ $FOLDER_REGEX ]]; then echo "$line"; echo ${BASH_REMATCH[1]} mv IMAGE IMAGE_${BASH_REMATCH[1]} fi done < $FILENAME Vedi se riesci a continuarlo per le immagini.. Ciao PS: non è per cattiveria che non te lo faccio, ma trovo che sia utile imparare qualcosa di nuovo... Link al commento Condividi su altri siti Altre opzioni di condivisione...
andrewcl82 Inviato 28 Luglio 2011 Autore Segnala Condividi Inviato 28 Luglio 2011 grazie 10000000 io infatti preferisco imparare qualcosa da persone mooolto più competenti di me ma questo listato devo farlo con scripteditor o da terminale? grazie ancora Link al commento Condividi su altri siti Altre opzioni di condivisione...
fra.makaveli Inviato 28 Luglio 2011 Segnala Condividi Inviato 28 Luglio 2011 allora... io per comodità l'ho scritto con vim, ma è semplicemente un file di testo. Puoi scriverlo con qualsiasi programma (a patto che salvi il testo così com'è.. )... Poi lo rendi eseguibile (da terminale: $ chmod +x nomefile) Ciao Link al commento Condividi su altri siti Altre opzioni di condivisione...
andrewcl82 Inviato 28 Luglio 2011 Autore Segnala Condividi Inviato 28 Luglio 2011 ok da terminale sono andato nella cartella specifica, ho incollato il tutto e funziona (grazie ancora) per i singoli file dovrei sostituire FOLDER_REGEX='PRT PSL = NML -PSIZE "(.*)"' in PRT QTY = (.*) e mv IMAGE IMAGE_${BASH_REMATCH[1]} in ??? Link al commento Condividi su altri siti Altre opzioni di condivisione...
fra.makaveli Inviato 28 Luglio 2011 Segnala Condividi Inviato 28 Luglio 2011 Ho appena notato una cosa... i nomi dei file sono per windows, non per linux! EDIT: non è un problema.. basta sostituire gli \ con gli / Cmq..più che sostituire, bisogna aggiungere due match: uno con QTY, l'altro con il nome del file. Poi una volta ottenuto il nome del file bisogna separare il nome dall'estensione. A quel punto si può rinominare il file. Link al commento Condividi su altri siti Altre opzioni di condivisione...
Messaggi raccomandati
Archiviato
Questa discussione è archiviata e chiusa a future risposte.