Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI porta un importante aggiornamento alla sua linea di gimbal camera tascabili con Osmo Pocket 4: sensore CMOS da 1 pollice rinnovato, gamma dinamica a 14 stop, profilo colore D-Log a 10 bit, slow motion a 4K/240fps e 107 GB di archiviazione integrata. Un prodotto pensato per i creator avanzati, ma che convince anche per l'uso quotidiano
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-05-2006, 12:13   #1
IspiCiosa
Senior Member
 
Iscritto dal: Dec 2004
Messaggi: 1218
aiuto su esercizio semplice script

Salve ragazzi devo realizzare questo script ma non riesco a capire comne fare per
confrontare i 2 file e verificare quale dei due e piu aggiornat o piu vecchio

l'esercizio è questo:

Realizzare uno script

connect.bash <file1> <file2>

che dati <file1> e <file2>, verifica, ogni 10 secondi quale dei due è piu nuovo, e copia quindi il piu recente sul piu vecchio. Segnalare ogni operazione di copia sullo standard output.
Qualora venga un numero di argomenti diverso da due, segnala l'errore ed esce. Se all'inizio o durante il funzionamento uno dei due file non esiste, lo crea, verificando che la directory che lo deve ospitare esista. Se invece ambedue i file non esistono, esce.

mi aiutate?
__________________
Athlon64 3500 (Winchester), Asus A8V-E Deluxe, X700Pro 256MB, Maxtor 200GB Sata,Ali Enermax 400W, Mast. Pionner 109,Lettore dvd LG, Creative 2.1 3200, LG 1980q, Canon Pixma mp500.
IspiCiosa è offline   Rispondi citando il messaggio o parte di esso
Old 15-05-2006, 12:26   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da IspiCiosa
Salve ragazzi devo realizzare questo script ma non riesco a capire comne fare per
confrontare i 2 file e verificare quale dei due e piu aggiornat o piu vecchio

l'esercizio è questo:

Realizzare uno script

connect.bash <file1> <file2>

che dati <file1> e <file2>, verifica, ogni 10 secondi quale dei due è piu nuovo, e copia quindi il piu recente sul piu vecchio. Segnalare ogni operazione di copia sullo standard output.
Qualora venga un numero di argomenti diverso da due, segnala l'errore ed esce. Se all'inizio o durante il funzionamento uno dei due file non esiste, lo crea, verificando che la directory che lo deve ospitare esista. Se invece ambedue i file non esistono, esce.
Se per "nuovo" intendi con data/ora più recente, il test si può fare in questo modo:
Codice:
if [ $file1 -nt $file2 ]; then
    echo "file1 e` piu` recente di file2"
elif [ $file2 -nt $file1 ]; then
    echo "file2 e` piu` recente di file1"
else
    echo "file1 = file2"
fi
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 15-05-2006, 12:33   #3
IspiCiosa
Senior Member
 
Iscritto dal: Dec 2004
Messaggi: 1218
per "nuovo" intendo l'ultimo che è stato modificato....non la data di creazione ma quela di modifica...
__________________
Athlon64 3500 (Winchester), Asus A8V-E Deluxe, X700Pro 256MB, Maxtor 200GB Sata,Ali Enermax 400W, Mast. Pionner 109,Lettore dvd LG, Creative 2.1 3200, LG 1980q, Canon Pixma mp500.
IspiCiosa è offline   Rispondi citando il messaggio o parte di esso
Old 15-05-2006, 12:52   #4
IspiCiosa
Senior Member
 
Iscritto dal: Dec 2004
Messaggi: 1218
mi sembra nche funzia lo stesso...

stasera riprovo bene
__________________
Athlon64 3500 (Winchester), Asus A8V-E Deluxe, X700Pro 256MB, Maxtor 200GB Sata,Ali Enermax 400W, Mast. Pionner 109,Lettore dvd LG, Creative 2.1 3200, LG 1980q, Canon Pixma mp500.
IspiCiosa è offline   Rispondi citando il messaggio o parte di esso
Old 15-05-2006, 12:53   #5
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da IspiCiosa
per "nuovo" intendo l'ultimo che è stato modificato....non la data di creazione ma quela di modifica...
Appunto, quindi va bene il test con -nt.
La documentazione del comando "test" dice:
Quote:
file1 -nt file2
True if file1 is newer (according to modification date) than file2.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 15-05-2006, 20:44   #6
IspiCiosa
Senior Member
 
Iscritto dal: Dec 2004
Messaggi: 1218
si hai ragione ok grazie....

e per questo cosa mi suggerisci?

Se all'inizio o durante il funzionamento uno dei due file non esiste, lo crea, verificando che la directory che lo deve ospitare esista.
__________________
Athlon64 3500 (Winchester), Asus A8V-E Deluxe, X700Pro 256MB, Maxtor 200GB Sata,Ali Enermax 400W, Mast. Pionner 109,Lettore dvd LG, Creative 2.1 3200, LG 1980q, Canon Pixma mp500.
IspiCiosa è offline   Rispondi citando il messaggio o parte di esso
Old 15-05-2006, 21:23   #7
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da IspiCiosa
Se all'inizio o durante il funzionamento uno dei due file non esiste, lo crea, verificando che la directory che lo deve ospitare esista.
Non mi è ben chiaro cosa devi fare esattamente: e se la directory non esiste, cosa devi fare? Devi crearla??

Comunque ammettiamo di doverla creare, se non esiste. Ti posto una funzione che puoi usare nel tuo script (adattala ovviamente alle tue esigenze):
Codice:
function check_file ()
{
    local F=$1
    local DIR

    if [ ! -e $F ]; then
        DIR=`dirname $F`

        if [ ! -d $DIR ]; then
            mkdir -p $DIR
        fi

        echo -n "" > $F
    fi
}
Poi richiami la funzione con:
Codice:
...
check_file $FILE1
check_file $FILE2
...
Spero possa esserti utile.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 16-05-2006, 06:58   #8
IspiCiosa
Senior Member
 
Iscritto dal: Dec 2004
Messaggi: 1218
no non deve crearla deve solo mandare un messagio d'errore e non fare nulla...

se ce crea il file...

cmq grazie mi sei davvero d'aiuto
__________________
Athlon64 3500 (Winchester), Asus A8V-E Deluxe, X700Pro 256MB, Maxtor 200GB Sata,Ali Enermax 400W, Mast. Pionner 109,Lettore dvd LG, Creative 2.1 3200, LG 1980q, Canon Pixma mp500.
IspiCiosa è offline   Rispondi citando il messaggio o parte di esso
Old 16-05-2006, 06:59   #9
IspiCiosa
Senior Member
 
Iscritto dal: Dec 2004
Messaggi: 1218
questo è l'esempio:


[usr@host Esempi]$ connect.bash NonEsiste/ping.txt NonEsiste/pong.txt
connect.bash: NonEsiste is not an accessible directory

[usr@host Esempi]$ connect.bash ping.txt pong.txt &
[1] 10796
[usr@host Esempi]$ connect.bash: Copying pong.txt to ping.txt
[usr@host Esempi]$ echo 'Ping!' > ping.txt
[usr@host Esempi]$ connect.bash: Copying ping.txt to pong.txt
[usr@host Esempi]$ rm pong.txt; ls
ping.txt
[usr@host Esempi]$ connect.bash: Copying ping.txt to pong.txt
[usr@host Esempi]$ ls
ping.txt pong.txt
[usr@host Esempi]$ kill 10796
[usr@host Esempi]$ ls
ping.txt pong.txt
[1]+ Terminated connect.bash ping.txt pong.txt
__________________
Athlon64 3500 (Winchester), Asus A8V-E Deluxe, X700Pro 256MB, Maxtor 200GB Sata,Ali Enermax 400W, Mast. Pionner 109,Lettore dvd LG, Creative 2.1 3200, LG 1980q, Canon Pixma mp500.
IspiCiosa è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
iPhone 18 Pro: il componente che garanti...
DeepL alza il livello: con Voice-to-Voic...
Apple sta utilizzando sempre più ...
Il MacBook Neo vende tanto? Microsoft le...
AST SpaceMobile BlueBird 7: Blue Origin ...
È il momento migliore per comprar...
Svendita MacBook Pro: c'è il mode...
Oggi questa TV TCL QLED da 43 pollici co...
Il caricatore multiplo da 200W che va be...
Top 7 Amazon, il meglio del meglio di qu...
Spento lo strumento LECP della sonda spa...
Voyager Technologies ha siglato un accor...
GoPro annuncia la linea MISSION 1 con tr...
Alcune varianti dei futuri Samsung Galax...
Il ridimensionamento di OnePlus in Europ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 04:45.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v