Script per cambio data automatico di un link
-
- Prode Principiante
- Messaggi: 58
- Iscrizione: sabato 27 aprile 2013, 15:06
- Desktop: Mate
- Distribuzione: 18.04 64bit
- Sesso: Maschile
Script per cambio data automatico di un link
Ciao a tutti, ho bisogno di creare uno script .sh che mi faccia modificare una stringa (contenente una data all'interno di un file)
Premettiamo che il file in questione sia sorgente.sh al cui interno ci sono dei comandi, e come prima linea un link tipo questo:
http://mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm=2019/07/07/12/
La data è così: anno/mese/giorno, l'ultimo numero non cambia resta sempre così. Mi interessa che lo script vada a modificare ogni giorno la data 2019/07/07 aggiornandola in base a quella del pc/server.
Grazie mille
Premettiamo che il file in questione sia sorgente.sh al cui interno ci sono dei comandi, e come prima linea un link tipo questo:
http://mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm=2019/07/07/12/
La data è così: anno/mese/giorno, l'ultimo numero non cambia resta sempre così. Mi interessa che lo script vada a modificare ogni giorno la data 2019/07/07 aggiornandola in base a quella del pc/server.
Grazie mille
- UbuNuovo
- Imperturbabile Insigne
- Messaggi: 4433
- Iscrizione: sabato 12 dicembre 2009, 20:58
- Desktop: Mate
- Distribuzione: Ubuntu Mate 22.04.1 LTS
- Sesso: Maschile
- Contatti:
Re: Script per cambio data automatico di un link
Cosa intendi con
Nell'esempio hai messo anno mese e giorno a due cifre e con le barre ad inizio e fine; mi sono basato su quanto hai scritto.
La regex accetta come valori del primo campo (anno) da 2 a 4 cifre [0-9]{2,4} e gli altri campi (mese e giorno) come numeri a due cifre; le barre iniziali e finali, nella sostituzione, vengono eliminate, visto che nell'output voluto non le hai messe 2019/07/07.
Considerato l'esempio che hai postato:
il file da modificare:
il codice sotto, provato nel terminale, funziona
una volta verificato il corretto funzionamento, per effettuare realmente la sostituzione nel file, aggiungi il parametro "-i" a sed:
?l'ultimo numero non cambia resta sempre così
Nell'esempio hai messo anno mese e giorno a due cifre e con le barre ad inizio e fine; mi sono basato su quanto hai scritto.
La regex accetta come valori del primo campo (anno) da 2 a 4 cifre [0-9]{2,4} e gli altri campi (mese e giorno) come numeri a due cifre; le barre iniziali e finali, nella sostituzione, vengono eliminate, visto che nell'output voluto non le hai messe 2019/07/07.
Considerato l'esempio che hai postato:
il file da modificare:
Codice: Seleziona tutto
8-) cat sorgente.sh
http://mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ... /07/07/12/
http://questo no... /07/07/12/
Codice: Seleziona tutto
8-) nome_file='sorgente.sh'
8-) oggi=$(date +%Y/%m/%d)
8-) sed "1s@/[0-9]\{2,4\}/[0-9]\{2\}/[0-9]\{2\}/@$oggi@" "$nome_file"
http://mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ... 2019/07/07
http://questo no... /07/07/12/
8-)
Codice: Seleziona tutto
sed -i "1s@/[0-9]\{2,4\}/[0-9]\{2\}/[0-9]\{2\}/@$oggi@" "$nome_file"
Salva l'Ucraina!
-
- Prode Principiante
- Messaggi: 58
- Iscrizione: sabato 27 aprile 2013, 15:06
- Desktop: Mate
- Distribuzione: 18.04 64bit
- Sesso: Maschile
Re: Script per cambio data automatico di un link
Forse ho inserito il link sbagliato, oppure il forum lo ha modificato:
eccolo:
http://linkcompleto=2019/07/07/12/
Gli / sono obbligatori nel link non si possono togliere. Mi serve quindi modificare anno/mese/giorno quindi 2019/07/07 mentre /12 deve restare così perchè sarebbero cartelle "fisse". Ho provato lo script ma non funziona, forse perchè non mi ero spiegato bene. Grazie mille
eccolo:
http://linkcompleto=2019/07/07/12/
Gli / sono obbligatori nel link non si possono togliere. Mi serve quindi modificare anno/mese/giorno quindi 2019/07/07 mentre /12 deve restare così perchè sarebbero cartelle "fisse". Ho provato lo script ma non funziona, forse perchè non mi ero spiegato bene. Grazie mille
- UbuNuovo
- Imperturbabile Insigne
- Messaggi: 4433
- Iscrizione: sabato 12 dicembre 2009, 20:58
- Desktop: Mate
- Distribuzione: Ubuntu Mate 22.04.1 LTS
- Sesso: Maschile
- Contatti:
Re: Script per cambio data automatico di un link
Codice: Seleziona tutto
8-) cat sorgente.sh
http://linkcompleto=2014/03/03/12/
http://questo no=2014/03/03/12/
Codice: Seleziona tutto
8-) nome_file='sorgente.sh'
8-) oggi=$(date +%Y/%m/%d)
8-) sed "1s@[0-9]\{4\}/[0-9]\{2\}/[0-9]\{2\}/12/@$oggi/12/@" "$nome_file"
http://linkcompleto=2019/07/07/12/
http://questo no=2014/03/03/12/
8-)
P.S.: se il 12 è un numero a due cifre variabile:
Codice: Seleziona tutto
sed "1s@[0-9]\{4\}/[0-9]\{2\}/[0-9]\{2\}/\([0-9]\{2\}\)/@$oggi/\1/@" "$nome_file"
Salva l'Ucraina!
-
- Prode Principiante
- Messaggi: 58
- Iscrizione: sabato 27 aprile 2013, 15:06
- Desktop: Mate
- Distribuzione: 18.04 64bit
- Sesso: Maschile
Re: Script per cambio data automatico di un link
Ciao, ti ringrazio per tutto, ma continua a non funzionare. Non riesce a modificare nulla
- UbuNuovo
- Imperturbabile Insigne
- Messaggi: 4433
- Iscrizione: sabato 12 dicembre 2009, 20:58
- Desktop: Mate
- Distribuzione: Ubuntu Mate 22.04.1 LTS
- Sesso: Maschile
- Contatti:
Re: Script per cambio data automatico di un link
Per la modifica del file, come ho già detto, devi usare '-i'.
Se neanche da terminale vedi la modifica, controlla che la riga da modificare sia realmente la prima (sed "1...).
Se tutto sembra a posto postami le prime righe originali del file da modificare, va bene anche per M.P..
Se neanche da terminale vedi la modifica, controlla che la riga da modificare sia realmente la prima (sed "1...).
Se tutto sembra a posto postami le prime righe originali del file da modificare, va bene anche per M.P..
Salva l'Ucraina!
- UbuNuovo
- Imperturbabile Insigne
- Messaggi: 4433
- Iscrizione: sabato 12 dicembre 2009, 20:58
- Desktop: Mate
- Distribuzione: Ubuntu Mate 22.04.1 LTS
- Sesso: Maschile
- Contatti:
Re: Script per cambio data automatico di un link
Se ho capito bene, dovrebbe bastarti questo codice che imposta il parametro GET con la data dell'esecuzione del codice:
Codice: Seleziona tutto
wget http://qua-metti-url-fisso/?prefix=$(date +%Y/%m/%d)/12
Salva l'Ucraina!
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 12 ospiti