Re: Come isolare il timestamp di un file? [ls, cut e num. campi/field]
Ma come mai sei refrattario all'uso di stat, come ti hanno precedentemente suggerito? Ciao Beppe C. On Mon, Jan 28, 2019 at 12:10 AM Ennio-Sr wrote: > * Felipe Salvador [270119, 13:12]: > > > > > > Ciao Felipe, > > > > > > riprendo il tuo post solo per scusarmi con te: non avevo prestato molta > > > [...] > > > > Ciao Ennio, > > per entrambi, specialmente per 'ls', consiglio la lettura di > > 'info ls', più esaustivo di man. > > > > [...] > > Grazie di nuovo, ciao, Ennio > -- > [Perche' usare Win$ozz (dico io) se ..."anche uno sciocco sa farlo. \\?// > Fa' qualche cosa di cui non sei capace!" (diceva Henry Miller) ](°|°) > [Why use Win$ozz (I say) if ... "even a fool can do that. )=( > Do something you aren't good at!" (as Henry Miller used to say) ] > > -- *CANTANNA Giuseppe* cel. +39 349 1998700 giuseppe.canta...@glugto.org canta...@glugto.org canta...@gmail.com bproot.bc - Linux user n. 502620 registered on http://counter.li.org/ *Nodo NINUX: *broot*.* *Per favore non inviatemi allegati in formato MS Office.Utilizzate alternativamente documenti in formato OpenDocument.* http://en.wikipedia.org/wiki/OpenDocument http://it.wikipedia.org/wiki/OpenDocument **http://www.documentfoundation.org/ * *https://it.libreoffice.org/
Re: Come isolare il timestamp di un file? [ls, cut e num. campi/field]
* Felipe Salvador [270119, 13:12]: > > > > Ciao Felipe, > > > > riprendo il tuo post solo per scusarmi con te: non avevo prestato molta > > [...] > > Ciao Ennio, > per entrambi, specialmente per 'ls', consiglio la lettura di > 'info ls', più esaustivo di man. > > [...] Grazie di nuovo, ciao, Ennio -- [Perche' usare Win$ozz (dico io) se ..."anche uno sciocco sa farlo. \\?// Fa' qualche cosa di cui non sei capace!" (diceva Henry Miller) ](°|°) [Why use Win$ozz (I say) if ... "even a fool can do that. )=( Do something you aren't good at!" (as Henry Miller used to say) ]
Re: Come isolare il timestamp di un file? [ls, cut e num. campi/field]
On Sat, Jan 26, 2019 at 07:40:56PM +0100, Ennio-Sr wrote: > * Felipe Salvador [260119, 11:47]: > > On Fri, Jan 25, 2019 at 11:25:05PM +0100, Ennio-Sr wrote: > > > Guarda che succede: > > > [...] > > > > Perché, come ti ho scritto, se aggiungi '-s' a ls ottieni > > esattamente quello che stai osservando. '-s' non ha molto senso nel > > tuo caso. Fintanto che il primo campo ha la stessa lunghezza per > > tutti i file non ci sono problemi. > > > > > > Ciao Felipe, > > riprendo il tuo post solo per scusarmi con te: non avevo prestato molta > attenzione al '-s' che è presente nell'alias del mio comando 'ls' e > avevo troppo frettolosamente concluso per la inaffidabilità del > risultato. > > Una più accorta ri-lettura di 'man ls' e 'man tr' mi ha chiarito le idee > e, in effetti, imponendo l'uso del comando 'nativo': > *** \ls -l ~/prove/file? | tr -s ' ' ',' | cut -d ',' -f 8 *** > ottengo il risultato che mi aspettavo. Ciao Ennio, per entrambi, specialmente per 'ls', consiglio la lettura di 'info ls', più esaustivo di man. > Mi sarebbe bastato interpretare bene questo passo di 'man tr' > --- quote --- > -s, --squeeze-repeats > replace each sequence of a repeated character that is listed in \ > the last specified SET, with a single occurrence of that character > -- unquote -- > Infatti: > ennio@mcmini-4_1-deb:~/prove$ ls -l file? | tr ' ' ','--> manca '-s' > ,52,-rw-r-,1,ennio,ennio,,52598,Sep,,8,00:27,file1 > 356,-rw-r-,1,ennio,ennio,363137,Jan,25,17:34,file2 > ,,4,-rw-r-,1,ennio,ennio,,,2179,Jan,25,17:35,file3 > > ennio@mcmini-4_1-deb:~/prove$ ls -l file? | tr -s ' ' ',' > ,52,-rw-r-,1,ennio,ennio,52598,Sep,8,00:27,file1 > 356,-rw-r-,1,ennio,ennio,363137,Jan,25,17:34,file2 > ,4,-rw-r-,1,ennio,ennio,2179,Jan,25,17:35,file3 > > Qui sopra la sostituzione è avvenuta correttamente (con -s), ma c'è il > size ineguale che 'scombina' tutto con le virgole iniziali > > ennio@mcmini-4_1-deb:~/prove$ \ls -l file? | tr -s ' ' ',' > ^^^ > -rw-r-,1,ennio,ennio,52598,Sep,8,00:27,file1 > -rw-r-,1,ennio,ennio,363137,Jan,25,17:34,file2 > -rw-r-,1,ennio,ennio,2179,Jan,25,17:35,file3 > > Qui sopra il comando 'ls' è quello originario (\ls) e il risultato > finale è corretto!: > > ennio@mcmini-4_1-deb:~/prove$ \ls -l file? | tr -s ' ' ',' | cut -d ',' -f 8 > ^^^ > 00:27 > 17:34 > 17:35 > > > > e ancora: > > > : r !ls -l prove/file? | tr -s ' \t' ',' | cut -d ',' -f 8' > > > [...] > > Non ci sono tab nell'output di ls. > > > > Ah, buono a sapersi! > > Grazie di nuovo, Ennio > > -- > [Perche' usare Win$ozz (dico io) se ..."anche uno sciocco sa farlo. \\?// > Fa' qualche cosa di cui non sei capace!" (diceva Henry Miller) ](°|°) > [Why use Win$ozz (I say) if ... "even a fool can do that. )=( > Do something you aren't good at!" (as Henry Miller used to say) ] Saluti -- Felipe Salvador
Re: Come isolare il timestamp di un file? [ls, cut e num. campi/field]
Ennio-Sr wrote: > Ciao a tutti, > > sto cercando di isolare il timestamp di alcuni file per poter creare una > 'condizione' ('if') in uno script di controllo. ciao, forse ti conviene descrivere il tuo obiettivo generale, dando qualche dettaglio in più. perché non utilizzare timestamp in termini di secondi da Epoch? (0:00:00 del primo gennaio '70). facilmente manipolabili e riconvertibili in data se necessario. es. se volessi sapere da quanto è stato modificato `prova.xml': issdr@nescio:~$ echo $(( `date +%s` - `stat -c %Y prova.xml` )) 102691257 issdr@nescio:~$
Re: Come isolare il timestamp di un file? [ls, cut e num. campi/field]
* Felipe Salvador [260119, 11:47]: > On Fri, Jan 25, 2019 at 11:25:05PM +0100, Ennio-Sr wrote: > > Guarda che succede: > > [...] > > Perché, come ti ho scritto, se aggiungi '-s' a ls ottieni > esattamente quello che stai osservando. '-s' non ha molto senso nel > tuo caso. Fintanto che il primo campo ha la stessa lunghezza per > tutti i file non ci sono problemi. > > Ciao Felipe, riprendo il tuo post solo per scusarmi con te: non avevo prestato molta attenzione al '-s' che è presente nell'alias del mio comando 'ls' e avevo troppo frettolosamente concluso per la inaffidabilità del risultato. Una più accorta ri-lettura di 'man ls' e 'man tr' mi ha chiarito le idee e, in effetti, imponendo l'uso del comando 'nativo': *** \ls -l ~/prove/file? | tr -s ' ' ',' | cut -d ',' -f 8 *** ottengo il risultato che mi aspettavo. Mi sarebbe bastato interpretare bene questo passo di 'man tr' --- quote --- -s, --squeeze-repeats replace each sequence of a repeated character that is listed in \ the last specified SET, with a single occurrence of that character -- unquote -- Infatti: ennio@mcmini-4_1-deb:~/prove$ ls -l file? | tr ' ' ','--> manca '-s' ,52,-rw-r-,1,ennio,ennio,,52598,Sep,,8,00:27,file1 356,-rw-r-,1,ennio,ennio,363137,Jan,25,17:34,file2 ,,4,-rw-r-,1,ennio,ennio,,,2179,Jan,25,17:35,file3 ennio@mcmini-4_1-deb:~/prove$ ls -l file? | tr -s ' ' ',' ,52,-rw-r-,1,ennio,ennio,52598,Sep,8,00:27,file1 356,-rw-r-,1,ennio,ennio,363137,Jan,25,17:34,file2 ,4,-rw-r-,1,ennio,ennio,2179,Jan,25,17:35,file3 Qui sopra la sostituzione è avvenuta correttamente (con -s), ma c'è il size ineguale che 'scombina' tutto con le virgole iniziali ennio@mcmini-4_1-deb:~/prove$ \ls -l file? | tr -s ' ' ',' ^^^ -rw-r-,1,ennio,ennio,52598,Sep,8,00:27,file1 -rw-r-,1,ennio,ennio,363137,Jan,25,17:34,file2 -rw-r-,1,ennio,ennio,2179,Jan,25,17:35,file3 Qui sopra il comando 'ls' è quello originario (\ls) e il risultato finale è corretto!: ennio@mcmini-4_1-deb:~/prove$ \ls -l file? | tr -s ' ' ',' | cut -d ',' -f 8 ^^^ 00:27 17:34 17:35 > > e ancora: > > : r !ls -l prove/file? | tr -s ' \t' ',' | cut -d ',' -f 8' > > [...] > Non ci sono tab nell'output di ls. > Ah, buono a sapersi! Grazie di nuovo, Ennio -- [Perche' usare Win$ozz (dico io) se ..."anche uno sciocco sa farlo. \\?// Fa' qualche cosa di cui non sei capace!" (diceva Henry Miller) ](°|°) [Why use Win$ozz (I say) if ... "even a fool can do that. )=( Do something you aren't good at!" (as Henry Miller used to say) ]
Re: Come isolare il timestamp di un file? [ls, cut e num. campi/field]
On Fri, Jan 25, 2019 at 11:39:03PM +0100, Ennio-Sr wrote: [...] > > Ciao! > > C. > Ciao e grazie, Ennio Prego, di nulla! Ciao! C.
Re: Come isolare il timestamp di un file? [ls, cut e num. campi/field]
On Fri, Jan 25, 2019 at 11:25:05PM +0100, Ennio-Sr wrote: > Guarda che succede: > il comando > : r !ls -l prove/file? | tr -s ' ' ',' | cut -d ',' -f 1-10 > in un primo tempo ha dato come risultato: > ,52,-rw-r-,1,ennio,ennio,52598,Sep,8,00:27,prove/file1 > 356,-rw-r-,1,ennio,ennio,363137,Jan,25,17:34,prove/file2 > ,4,-rw-r-,1,ennio,ennio,2179,Jan,25,17:35,prove/file3 > > per cui, ripetendo il comando con l'estrazione del campo 9 ottenevo: > 8 > 17:34 > 25 Perché, come ti ho scritto, se aggiungi '-s' a ls ottieni esattamente quello che stai osservando. '-s' non ha molto senso nel tuo caso. Fintanto che il primo campo ha la stessa lunghezza per tutti i file non ci sono problemi. > Ma, fatto strano, nei successivi tentativi il risultato è stato diverso: > -rw-r-,1,ennio,ennio,52598,Sep,8,00:27,prove/file1 > -rw-r-,1,ennio,ennio,363137,Jan,25,17:34,prove/file2 > -rw-r-,1,ennio,ennio,2179,Jan,25,17:35,prove/file3 Ricordati che hai impostato un alias per ls. > e poi: > : r !ls -l prove/file? | tr -s ' ' ',' | cut -d ',' -f 8' > 00:27 > 17:34 > 17:35 > > e ancora: > : r !ls -l prove/file? | tr -s ' \t' ',' | cut -d ',' -f 8' > 00:27 > 17:34 > 17:35 Non ci sono tab nell'output di ls. > Concludo che il risultato mi sembra alquanto arbitrario e inadatto per > basarci un controllo... > > Ciao e grazie, Ennio Ciao > > -- > [Perche' usare Win$ozz (dico io) se ..."anche uno sciocco sa farlo. \\?// > Fa' qualche cosa di cui non sei capace!" (diceva Henry Miller) ](°|°) > [Why use Win$ozz (I say) if ... "even a fool can do that. )=( > Do something you aren't good at!" (as Henry Miller used to say) ] -- Felipe Salvador
[RISOLTO] Re: Come isolare il timestamp di un file? [ls, cut e num. campi/field]
* compact [250119, 23:03]: > In data venerdì 25 gennaio 2019 19:57:49, Ennio-Sr ha scritto: > > Ciao a tutti, > > > > sto cercando di isolare il timestamp di alcuni file per poter creare una > > 'condizione' ('if') in uno script di controllo. > > man stat > > stat -c %y file Oh, ecco un comando che non avevo presente e che si avvicina molto alla soluzione che cercavo. Intanto, da una rapida ricerca e alcuni tentativi, forse ho trovato proprio quello che cercavo: ---> $ ls -l C*wav | awk '{ print $8 }' 00:27 17:34 17:35 Grazie di nuovo a tutti gli intervenuti e ... alla prossima ;-) Ennio -- [Perche' usare Win$ozz (dico io) se ..."anche uno sciocco sa farlo. \\?// Fa' qualche cosa di cui non sei capace!" (diceva Henry Miller) ](°|°) [Why use Win$ozz (I say) if ... "even a fool can do that. )=( Do something you aren't good at!" (as Henry Miller used to say) ]
Re: Come isolare il timestamp di un file? [ls, cut e num. campi/field]
* Felipe Salvador [250119, 22:28]: > On Fri, Jan 25, 2019 at 07:57:49PM +0100, Ennio-Sr wrote: > > Ciao a tutti, > > > > sto cercando di isolare il timestamp di alcuni file per poter creare una > > 'condizione' ('if') in uno script di controllo. > > Non avendo mai usato 'awk' ho provato con ls -l e cut, ma il risultato > > sperato viene alterato dagli spazi dei singoli campi, non potendo > > prevedere il campo in cui si collocherà il timestamp del file che mi > > interessa. > > > > Una occhiata alle righe che seguono vale più di cento spiegazioni: > > > > - quote --- > > > > Script started on Fri 25 Jan 2019 18:38:14 CET > > mennio@mcmini-4_1-deb:~/prove$ l alias ls > > alias ls='ls -s -F -T 0 -b -H -1 -C --color=auto' > > [il risultato non cambia se uso il comando con la sola opzione -l] > > ennio@mcmini-4_1-deb:~/prove$ ls -l file? > > 52 -rw-r- 1 ennio ennio 52598 Sep 8 00:27 file1 > > 356 -rw-r- 1 ennio ennio 363137 Jan 25 17:34 file2 > > 4 -rw-r- 1 ennio ennio 2179 Jan 25 17:35 file3 > > ennio@mcmini-4_1-deb:~/prove$ ls -l file? | cut -d ' ' -f 1 > > > > 356 > > > > ennio@mcmini-4_1-deb:~/prove$ Kls -l file? | cut -d ' ' -f 2 > > 52 > > -rw-r- > > > > ennio@mcmini-4_1-deb:~/prove$ Kls -l file? | cut -d ' ' -f 3,4,5,6,7 > > [...] > > > > ennio@mcmini-4_1-deb:~/prove$ Kls -l file? | cut -d ' ' -f 9 > > Sep > > 17:34 > > > > ennio@mcmini-4_1-deb:~/prove$ Kls -l file? | cut -d ' ' -f 12 > > 00:27 > > > > 25 > > ennio@mcmini-4_1-deb:~/prove$ Kls -l file? | cut -d ' ' -f 13 > > file1 > > > > 17:35 > > ennio@mcmini-4_1-deb:~/prove$ Kexit > > > > Script done on Fri 25 Jan 2019 18:39:40 CET > > > > -- unquote -- > > > > Come si vede, la colonna del timestamp corrisponde a campi diversi > > secondo il numero di spazi di ogni riha prodotta da 'ls'. > > Penso che se potessi usare '\t' (TAB) come delimiter potrei ottenere il > > risultato desiderato, ma non mi pare sia possibile ;-( > > > > Avete suggerimenti su come potrei individuare quel dato, magari con awk? > > L'output di ls è delimitato da spazi, puoi rimpiazzarli con tr: > >ls -l | tr -s ' ' ',' | cut -d ',' -f 4,5,6,7,8 > >felipe,4096,apr,16,2018 >felipe,4096,apr,24,2018 >felipe,18432,giu,21,2018 >felipe,4096,mag,16,2017 >felipe,4096,giu,20,2016 >felipe,4096,nov,2,17:22 >felipe,4096,lug,7,2018 >felipe,97261,giu,10,2018 >felipe,101788,giu,10,2018 > Ti ringrazio, Felipe, ma la cosa non funziona: il problema è dovuto proprio agli spazi, che al variare del size dei file sono diversi e restano tali anche se vengono sostituiti dalla virgola. Guarda che succede: il comando : r !ls -l prove/file? | tr -s ' ' ',' | cut -d ',' -f 1-10 in un primo tempo ha dato come risultato: ,52,-rw-r-,1,ennio,ennio,52598,Sep,8,00:27,prove/file1 356,-rw-r-,1,ennio,ennio,363137,Jan,25,17:34,prove/file2 ,4,-rw-r-,1,ennio,ennio,2179,Jan,25,17:35,prove/file3 per cui, ripetendo il comando con l'estrazione del campo 9 ottenevo: 8 17:34 25 Ma, fatto strano, nei successivi tentativi il risultato è stato diverso: -rw-r-,1,ennio,ennio,52598,Sep,8,00:27,prove/file1 -rw-r-,1,ennio,ennio,363137,Jan,25,17:34,prove/file2 -rw-r-,1,ennio,ennio,2179,Jan,25,17:35,prove/file3 e poi: : r !ls -l prove/file? | tr -s ' ' ',' | cut -d ',' -f 8' 00:27 17:34 17:35 e ancora: : r !ls -l prove/file? | tr -s ' \t' ',' | cut -d ',' -f 8' 00:27 17:34 17:35 Concludo che il risultato mi sembra alquanto arbitrario e inadatto per basarci un controllo... Ciao e grazie, Ennio -- [Perche' usare Win$ozz (dico io) se ..."anche uno sciocco sa farlo. \\?// Fa' qualche cosa di cui non sei capace!" (diceva Henry Miller) ](°|°) [Why use Win$ozz (I say) if ... "even a fool can do that. )=( Do something you aren't good at!" (as Henry Miller used to say) ]
Re: Come isolare il timestamp di un file? [ls, cut e num. campi/field]
* cage [250119, 22:39]: > On Fri, Jan 25, 2019 at 07:57:49PM +0100, Ennio-Sr wrote: > > Ciao a tutti, > > Ciao! > > [...] > > > Come si vede, la colonna del timestamp corrisponde a campi diversi > > secondo il numero di spazi di ogni riha prodotta da 'ls'. > > Penso che se potessi usare '\t' (TAB) come delimiter potrei ottenere il > > risultato desiderato, ma non mi pare sia possibile ;-( > > Non riesco a centrare il problema comunque, per quel che ne so, cut(1) > usa il tabulatore come separatore di campo di default. > Sì, l'ho letto nel 'man ls' ma, se dò il comando semplicemente con ls -l ... | cut -f 8 (senza indicare il delimiter di default), mi scrive l'intera stringa, con tutti i campi, senza isolare il solo timestamp che mi interessa salvare in una variabile di memoria. > Ciao! > C. Ciao e grazie, Ennio -- [Perche' usare Win$ozz (dico io) se ..."anche uno sciocco sa farlo. \\?// Fa' qualche cosa di cui non sei capace!" (diceva Henry Miller) ](°|°) [Why use Win$ozz (I say) if ... "even a fool can do that. )=( Do something you aren't good at!" (as Henry Miller used to say) ]
Re: Come isolare il timestamp di un file? [ls, cut e num. campi/field]
In data venerdì 25 gennaio 2019 19:57:49, Ennio-Sr ha scritto: > Ciao a tutti, > > sto cercando di isolare il timestamp di alcuni file per poter creare una > 'condizione' ('if') in uno script di controllo. man stat stat -c %y file
Re: Come isolare il timestamp di un file? [ls, cut e num. campi/field]
On Fri, Jan 25, 2019 at 10:28:12PM +0100, Felipe Salvador wrote: > L'output di ls è delimitato da spazi, puoi rimpiazzarli con tr: > >ls -l | tr -s ' ' ',' | cut -d ',' -f 4,5,6,7,8 > >felipe,4096,apr,16,2018 >felipe,4096,apr,24,2018 >felipe,18432,giu,21,2018 >felipe,4096,mag,16,2017 >felipe,4096,giu,20,2016 >felipe,4096,nov,2,17:22 >felipe,4096,lug,7,2018 >felipe,97261,giu,10,2018 >felipe,101788,giu,10,2018 Fai attenzione, per effetto di '-s' in ls questo metodo produrrà un errore in corrispondenza della riga che indica il file più grande: 1,felipe,felipe,625,nov 1,felipe,felipe,625,nov 8,felipe,felipe,4096,gen 1,felipe,felipe,33453,set 1,felipe,felipe,1736068,set 1,felipe,felipe,139,gen 1,felipe,felipe,141,gen 1,felipe,felipe,5397088,giu felipe,felipe,9462689792,apr,28 <-- 3,felipe,felipe,4096,set Rimuovendo '-s' il problema non si pone: felipe,1736068,set,18,20:12 felipe,139,gen,21,18:13 felipe,141,gen,21,15:16 felipe,5397088,giu,10,2018 felipe,9462689792,apr,28,2018 felipe,4096,set,18,18:11 Saluti -- Felipe Salvador
Re: Come isolare il timestamp di un file? [ls, cut e num. campi/field]
On Fri, Jan 25, 2019 at 07:57:49PM +0100, Ennio-Sr wrote: > Ciao a tutti, Ciao! [...] > Come si vede, la colonna del timestamp corrisponde a campi diversi > secondo il numero di spazi di ogni riha prodotta da 'ls'. > Penso che se potessi usare '\t' (TAB) come delimiter potrei ottenere il > risultato desiderato, ma non mi pare sia possibile ;-( Non riesco a centrare il problema comunque, per quel che ne so, cut(1) usa il tabulatore come separatore di campo di default. Ciao! C.
Re: Come isolare il timestamp di un file? [ls, cut e num. campi/field]
On Fri, Jan 25, 2019 at 07:57:49PM +0100, Ennio-Sr wrote: > Ciao a tutti, > > sto cercando di isolare il timestamp di alcuni file per poter creare una > 'condizione' ('if') in uno script di controllo. > Non avendo mai usato 'awk' ho provato con ls -l e cut, ma il risultato > sperato viene alterato dagli spazi dei singoli campi, non potendo > prevedere il campo in cui si collocherà il timestamp del file che mi > interessa. > > Una occhiata alle righe che seguono vale più di cento spiegazioni: > > - quote --- > > Script started on Fri 25 Jan 2019 18:38:14 CET > mennio@mcmini-4_1-deb:~/prove$ l alias ls > alias ls='ls -s -F -T 0 -b -H -1 -C --color=auto' > [il risultato non cambia se uso il comando con la sola opzione -l] > ennio@mcmini-4_1-deb:~/prove$ ls -l file? > 52 -rw-r- 1 ennio ennio 52598 Sep 8 00:27 file1 > 356 -rw-r- 1 ennio ennio 363137 Jan 25 17:34 file2 > 4 -rw-r- 1 ennio ennio 2179 Jan 25 17:35 file3 > ennio@mcmini-4_1-deb:~/prove$ ls -l file? | cut -d ' ' -f 1 > > 356 > > ennio@mcmini-4_1-deb:~/prove$ Kls -l file? | cut -d ' ' -f 2 > 52 > -rw-r- > > ennio@mcmini-4_1-deb:~/prove$ Kls -l file? | cut -d ' ' -f 3,4,5,6,7 > [...] > > ennio@mcmini-4_1-deb:~/prove$ Kls -l file? | cut -d ' ' -f 9 > Sep > 17:34 > > ennio@mcmini-4_1-deb:~/prove$ Kls -l file? | cut -d ' ' -f 12 > 00:27 > > 25 > ennio@mcmini-4_1-deb:~/prove$ Kls -l file? | cut -d ' ' -f 13 > file1 > > 17:35 > ennio@mcmini-4_1-deb:~/prove$ Kexit > > Script done on Fri 25 Jan 2019 18:39:40 CET > > -- unquote -- > > Come si vede, la colonna del timestamp corrisponde a campi diversi > secondo il numero di spazi di ogni riha prodotta da 'ls'. > Penso che se potessi usare '\t' (TAB) come delimiter potrei ottenere il > risultato desiderato, ma non mi pare sia possibile ;-( > > Avete suggerimenti su come potrei individuare quel dato, magari con awk? L'output di ls è delimitato da spazi, puoi rimpiazzarli con tr: ls -l | tr -s ' ' ',' | cut -d ',' -f 4,5,6,7,8 felipe,4096,apr,16,2018 felipe,4096,apr,24,2018 felipe,18432,giu,21,2018 felipe,4096,mag,16,2017 felipe,4096,giu,20,2016 felipe,4096,nov,2,17:22 felipe,4096,lug,7,2018 felipe,97261,giu,10,2018 felipe,101788,giu,10,2018 > Grazie dell'attenzione, Ennio > -- > [Perche' usare Win$ozz (dico io) se ..."anche uno sciocco sa farlo. \\?// > Fa' qualche cosa di cui non sei capace!" (diceva Henry Miller) ](°|°) > [Why use Win$ozz (I say) if ... "even a fool can do that. )=( > Do something you aren't good at!" (as Henry Miller used to say) ] Ciao -- Felipe Salvador
Re: Come isolare il timestamp di un file? [ls, cut e num. campi/field]
* Gollum1 [250119, 21:33]: > Il 25 gennaio 2019 19:57:49 CET, Ennio-Sr ha scritto: > >Ciao a tutti, > > [big cut] > > e usare uno script in python? le librerie di python mi risulta che > considerino il timestamp come dato del file stesso. > > dipende da quello che poi ci devi fare > byez > -- Devo salvare il imestamp in una variabile da confrontare con un valore simile. Ma come si farebbe in python? Grazie, ciao, Ennio -- [Perche' usare Win$ozz (dico io) se ..."anche uno sciocco sa farlo. \\?// Fa' qualche cosa di cui non sei capace!" (diceva Henry Miller) ](°|°) [Why use Win$ozz (I say) if ... "even a fool can do that. )=( Do something you aren't good at!" (as Henry Miller used to say) ]
Re: Come isolare il timestamp di un file? [ls, cut e num. campi/field]
Il 25 gennaio 2019 19:57:49 CET, Ennio-Sr ha scritto: >Ciao a tutti, > >sto cercando di isolare il timestamp di alcuni file per poter creare >una >'condizione' ('if') in uno script di controllo. >Non avendo mai usato 'awk' ho provato con ls -l e cut, ma il risultato >sperato viene alterato dagli spazi dei singoli campi, non potendo >prevedere il campo in cui si collocherà il timestamp del file che mi >interessa. > >Una occhiata alle righe che seguono vale più di cento spiegazioni: > >- quote --- > >Script started on Fri 25 Jan 2019 18:38:14 CET >mennio@mcmini-4_1-deb:~/prove$ l alias ls >alias ls='ls -s -F -T 0 -b -H -1 -C --color=auto' >[il risultato non cambia se uso il comando con la sola opzione -l] >ennio@mcmini-4_1-deb:~/prove$ ls -l file? > 52 -rw-r- 1 ennio ennio 52598 Sep 8 00:27 file1 >356 -rw-r- 1 ennio ennio 363137 Jan 25 17:34 file2 > 4 -rw-r- 1 ennio ennio 2179 Jan 25 17:35 file3 >ennio@mcmini-4_1-deb:~/prove$ ls -l file? | cut -d ' ' -f 1 > >356 > >ennio@mcmini-4_1-deb:~/prove$ Kls -l file? | cut -d ' ' -f 2 >52 >-rw-r- > >ennio@mcmini-4_1-deb:~/prove$ Kls -l file? | cut -d ' ' -f 3,4,5,6,7 >[...] > >ennio@mcmini-4_1-deb:~/prove$ Kls -l file? | cut -d ' ' -f 9 >Sep >17:34 > >ennio@mcmini-4_1-deb:~/prove$ Kls -l file? | cut -d ' ' -f 12 >00:27 > >25 >ennio@mcmini-4_1-deb:~/prove$ Kls -l file? | cut -d ' ' -f 13 >file1 > >17:35 >ennio@mcmini-4_1-deb:~/prove$ Kexit > >Script done on Fri 25 Jan 2019 18:39:40 CET > >-- unquote -- > >Come si vede, la colonna del timestamp corrisponde a campi diversi >secondo il numero di spazi di ogni riha prodotta da 'ls'. >Penso che se potessi usare '\t' (TAB) come delimiter potrei ottenere il >risultato desiderato, ma non mi pare sia possibile ;-( > >Avete suggerimenti su come potrei individuare quel dato, magari con >awk? > >Grazie dell'attenzione, Ennio e usare uno script in python? le librerie di python mi risulta che considerino il timestamp come dato del file stesso. dipende da quello che poi ci devi fare byez -- gollum1 Inviato dal mio dispositivo Android con K-9 Mail. Perdonate la brevità e gli errori, maledetto correttore automatico.
Come isolare il timestamp di un file? [ls, cut e num. campi/field]
Ciao a tutti, sto cercando di isolare il timestamp di alcuni file per poter creare una 'condizione' ('if') in uno script di controllo. Non avendo mai usato 'awk' ho provato con ls -l e cut, ma il risultato sperato viene alterato dagli spazi dei singoli campi, non potendo prevedere il campo in cui si collocherà il timestamp del file che mi interessa. Una occhiata alle righe che seguono vale più di cento spiegazioni: - quote --- Script started on Fri 25 Jan 2019 18:38:14 CET mennio@mcmini-4_1-deb:~/prove$ l alias ls alias ls='ls -s -F -T 0 -b -H -1 -C --color=auto' [il risultato non cambia se uso il comando con la sola opzione -l] ennio@mcmini-4_1-deb:~/prove$ ls -l file? 52 -rw-r- 1 ennio ennio 52598 Sep 8 00:27 file1 356 -rw-r- 1 ennio ennio 363137 Jan 25 17:34 file2 4 -rw-r- 1 ennio ennio 2179 Jan 25 17:35 file3 ennio@mcmini-4_1-deb:~/prove$ ls -l file? | cut -d ' ' -f 1 356 ennio@mcmini-4_1-deb:~/prove$ Kls -l file? | cut -d ' ' -f 2 52 -rw-r- ennio@mcmini-4_1-deb:~/prove$ Kls -l file? | cut -d ' ' -f 3,4,5,6,7 [...] ennio@mcmini-4_1-deb:~/prove$ Kls -l file? | cut -d ' ' -f 9 Sep 17:34 ennio@mcmini-4_1-deb:~/prove$ Kls -l file? | cut -d ' ' -f 12 00:27 25 ennio@mcmini-4_1-deb:~/prove$ Kls -l file? | cut -d ' ' -f 13 file1 17:35 ennio@mcmini-4_1-deb:~/prove$ Kexit Script done on Fri 25 Jan 2019 18:39:40 CET -- unquote -- Come si vede, la colonna del timestamp corrisponde a campi diversi secondo il numero di spazi di ogni riha prodotta da 'ls'. Penso che se potessi usare '\t' (TAB) come delimiter potrei ottenere il risultato desiderato, ma non mi pare sia possibile ;-( Avete suggerimenti su come potrei individuare quel dato, magari con awk? Grazie dell'attenzione, Ennio -- [Perche' usare Win$ozz (dico io) se ..."anche uno sciocco sa farlo. \\?// Fa' qualche cosa di cui non sei capace!" (diceva Henry Miller) ](°|°) [Why use Win$ozz (I say) if ... "even a fool can do that. )=( Do something you aren't good at!" (as Henry Miller used to say) ]