[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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 <felipe.salvador@gmail.com> [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


Reply to: