Newsgroup: it.comp.os.linux.iniziare
Titolo: Sostituire un carattere di tutti i files contenuti in uno zip

Ciao a tutti,
 
all'interno di un file zippato ho tutti i files con l'underscore "_" che 
devo sostituire con un altro carattere, purtroppo il carattere in 
questione è lo slash "/".
 
zip nome_file_zip.zip --out temp.zip && unzip -p temp.zip | sed 
's/carattere_da_sostituire/carattere_sostitutivo/g' | zip -q 
nome_file_zip.zip - && rm temp.zip
 
Come è facile intuire lo slash non è un carattere permesso e quindi mi 
da errore diversamente invece dall'utilizzo di altri caratteri.
 
Ipotesi, i files in questione sono tutte immagini, se mi creo un DB tipo 
all'interno di MariaDB, uso LONGBLOB come tipologia di record ed uno 
script che mi importi tutte le immagini, step successivo una volta 
contenute nel DB potrei fare il cambio massivo con dei comandi SQL dei 
nomi per sostituire in tutti un carattere con un altro... che dite?
 
Saluti.
^Bart
 

 da errore diversamente invece dall'utilizzo di altri caratteri. 
 
il problema IMHO si risolve usando un carattere di escape per lo slash.

 
 
 
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   < 
https://giovanni.homelinux.net/
 >


Scusa, fammi capire, perche` mi sono perso.
 
Tu vorresti cambiare il *nome* dei file,
sostituendo "_" con "/"?
 
Ammesso sia possibile, come fai, poi, ad
estrarre i file?
Su un sistema diverso, che accetta "/"
nel nome dei file?
Esiste?
 
bye,
 
-- 
 
piergiorgio
 

 questione è lo slash "/". 
 
[ ... ]
 
Linux/unix
 
https://www.google.com/search?q=unix+how+to+use+slash+caracter+as+part+of+file+name&client=firefox-b-d&ved=0ahUKEwjj5qrV3sH9AhW9XvEDHWCzC9cQ4dUDCA4&uact=5&sclient=gws-wiz-serp
 
 
Windows
 
https://www.google.com/search?q=windows+how+to+use+backslash+caracter+as+part+of+file+name&client=firefox-b-d&ved=0ahUKEwjpiIPf3sH9AhXOQvEDHU34CRAQ4dUDCA4&uact=5&sclient=gws-wiz-serp
 
 
In pratica la probabilità che ti ha fatto questa richiesta non abbia la benchè minima idea di ciò che vuole
è inversamente proporzionale a vincere al Superenalotto giocando:   1 - 2 - 3 - 4 - 5 - 6
 

 è inversamente proporzionale a vincere al Superenalotto giocando: 1 - 2 - 3 - 4 - 5 - 6
 
 
io avevo capito che gli serviva cambiare il _ in / nel contenuto di un file. se gli hanno chiesto di farlo col nome file, mi sa che la probabilita' che dici tu e' la stessa di fare un 6 al superenalotto senza giocare proprio.

 dici tu e' la stessa di fare un 6 al superenalotto senza giocare proprio.
 
quello che pensavo anche io. Poi rileggendo bene il post iniziale 
diceva che si tratta di immagini e pensava di fare un lavoro con un DB
In questo caso puo' fare la modifica nel db...ma ovviamente non puo' 
estìtrarre il contenuto modificato e usarlo come filename.


ecc ecc...
come avrai ormai capito, non si puo' fare.
Ma per quale motivo ti serve proprio quel carattere nel nome file? non 
riesco davvero a trovare nessun motivo

 nomi per sostituire in tutti un carattere con un altro... che dite?
 
dico che è una stupidaggine. intanto nel blob tu inseriresti il contenuto, 
il nome è un metadato che dovresti salvare su un altro campo. certo, in 
quel campo potresti scriverci quel che cavolo ti pare, ma qual è il senso 
rispetto all'esigenza iniziale?

 rispetto all'esigenza iniziale?
 
L'unico scopo che mi viene in mente, è quello di aver salvato i
 files con il path completo di dov'erano in origine come nome,
 sostituendo lo slash del path con underscore, e quindi voler ora
 ricostruire il path originale.
 
Di solito, quando faccio modifiche ai files installati da un
 pacchetto, salvo gli originali che voglio modificare in una
 directory creata appositamente nominandoli in quel
 modo.
 
-- 
cin cin cion

  ricostruire il path originale.
 
ma se vuole ricostruire il path originale può farlo, zip supporta le 
directory. non è che il path di un file si costruisce mettendo gli 
slash...

 slash...
Penso che volesse fare proprio questo, poi si è accorto di aver
 preso una cantonata (capita a tutti).  :)
 
 
-- 
cin cin cion

   preso una cantonata (capita a tutti).  :)
 
Nulla di tutto questo, sono stati, secoli addietro, inseriti in un 
gestionale dei codici prodotto chiamandoli 13534/abdanda/xxxx quindi chi 
li filtra da quel gestionale li vede così e andarli a modificare tutti 
(sono diverse migliaia) sarebbe oneroso oltre al fatto che quei codici 
vengono stampanti e quindi il cliente finale da secoli li vede in quel 
modo e tutti i sistemi informatici che hanno già caricato quei prodotti 
lo hanno fatto in quel modo.
 
Morale della favola se faccio una query dal DB devo esportarli 
sostituendo / con _ e quindi ho tutti i files salvati sbagliati ma 
informaticamente parlando salvati in maniera corretta.
 
I files in questione dovrei importarli in un database su un sito 
internet tramite un file zippato ed in questo file zippato dovrei 
ri-trasformare la _ in /
 
A questo punto mi era venuta in mente la soluzione ponte ovvero 
importare tutti i file informaticamente corretti con la _ in un db 
locale magari gestito da MariaDB, all'interno di esso ritrasformare i 
file da _ a / per poi fare un dump su uno zip file da passare al sito 
web finale.
 
Permettetemi di non esprimere giudizi su chi ha inserito la / nel codice 
dei prodotti.
 
Saluti.
^Bart
 

On 09/03/2023 22.25, ^Bart wrote:
[...]

Uhm, ma non e` chiaro cosa c'entri il *codice*
del prodotto con il nome di un file...
 
Cioe` perche` devi esportare i codici come
nome di un file? Questo non sembra naturale...
 
Se devi passare dati da un DB ad un altro,
da quello che so io, si esporta in un qualche
formato compatibile da entrambi e si re-importa.
 
Con un unico file che avra` un nome suo,
tipo "db_clienti.export" o simile.
 
bye,
 
-- 
 
piergiorgio
 

 dei prodotti.
 
mica dovrebbe essere un problema.