[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]



* 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.

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) ]


Reply to: