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