Pagina 1 di 1

Script di comparazione file [RISOLTO]

Inviato: lun giu 27, 2016 22:46
da Burroughs
Buona sera a tutti!
Entro direttamente nel dettaglio del mio problema, perché mi sa che è più facile fare così che spiegarlo in altro modo... :?
Allora, in una directory x ho due file, prova1.txt e prova2.txt.
Mi servirebbe uno script, che, a intervalli regolari, comparasse i due file e provvedesse a rimuovere il più vecchio, badando però (e qui sta il difficile) di non eliminare il file prova*.txt che dovesse rimanere da solo.
Ad esempio, se eseguo ogni trenta secondi il seguente script:

Codice: Seleziona tutto

#!/bin/bash
#
FILE="$(ls -tr1 prova*|head -1)"
rm "$FILE"

la prima volta verrà rimosso il file più vecchio dei due, la seconda volta l'unico eventualmente rimasto.
Ecco, come posso fare per evitare questa seconda situazione???

Grazie...

Re: Script di comparazione file

Inviato: lun giu 27, 2016 23:31
da Ansa89

Codice: Seleziona tutto

cd x
files=(`ls -tr prova*.txt`)
while [ -n "${files[1]}" ] ; do
    rm ${files[0]}
    files=(`ls -tr prova*.txt`)
done


Nota: ho scritto di getto, senza test approfonditi.

Re: Script di comparazione file

Inviato: mar giu 28, 2016 8:51
da Burroughs
Grazie, Ansa,

Lo script, però, mi restituisce questo output di errore:

Codice: Seleziona tutto

/usr/local/bin/oldst: riga 6: EOF non atteso durante la ricerca di """
/usr/local/bin/oldst: riga 10: errore di sintassi: EOF non atteso

Cosa può essere?

Re: Script di comparazione file

Inviato: mar giu 28, 2016 9:04
da Ansa89
Colpa mia: mi ero dimenticato una parentesi graffa.

Re: Script di comparazione file

Inviato: mar giu 28, 2016 9:07
da Burroughs
Me lo potresti riscrivere quando hai un attimo?
Grazie...

Re: Script di comparazione file

Inviato: mar giu 28, 2016 9:21
da Ansa89
Avevo già editato lo script della mia prima risposta; comunque lo riporto anche qui:

Codice: Seleziona tutto

cd x
files=(`ls -tr prova*.txt`)
while [ -n "${files[1]}" ] ; do
    rm ${files[0]}
    files=(`ls -tr prova*.txt`)
done

Re: Script di comparazione file

Inviato: mar giu 28, 2016 12:28
da Burroughs
Ansa89 ha scritto:Avevo già editato lo script della mia prima risposta; comunque lo riporto anche qui: [CUT]

Ooops, scusami, stavo col cellulare, non me ne sono accorto.
Ti ringrazio, lo script "works like a charm", come dicono gli eruditi... :D
Ancora grazie e alla prossima.

Re: Script di comparazione file [RISOLTO]

Inviato: mar giu 28, 2016 13:31
da Ansa89
Sono contento che tu abbia risolto :) .