Codice: Seleziona tutto
$ comando file
20081228Moderatore: Staff

Codice: Seleziona tutto
$ comando file
20081228
Codice: Seleziona tutto
ls -l nome_file|cut -d " " -f 6 |sed s/-//gCodice: Seleziona tutto
stat -c %y file | cut -b -10
Codice: Seleziona tutto
#define _BSD_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <time.h>
#include <errno.h>
int main (int argc, char *argv[])
{
struct stat st;
struct tm *time;
if (argc < 2)
{
printf ("Usage: %s [files]\n", *argv);
exit (1);
}
++argv;
do {
if (lstat (*argv, &st))
printf ("%s: %s\n", *argv, strerror (errno));
else
{
time = gmtime (&st.st_mtime);
printf ("%d%.2d%.2d\n", time->tm_year + 1900, time->tm_mon + 1, time->tm_mday);
}
} while (*++argv);
return 0;
}


Con GNU ls(1):anycolouryoulike ha scritto:C'è un modo per visualizzarla in formato %Y%m%d del tipo:GrazieCodice: Seleziona tutto
$ comando file 20081228

Molto più elegante,senza dubbioCon GNU ls(1):
ls -l --time-style=+%Y%m%d file_name | awk '{print $6}'



se è la stessa discussione che ricordo io si parlava della data di creazione che infatti non si può conoscereraffaele181188 ha scritto:Ma non si era detto in un thread di qualche giorno fa che è possibile visualizzare il timestamp DELL'ULTIMO ACCESSO, ma non quello dell'ultima modifica? Mi sembrava di aver capito così... Anche perchè ci sono -atime e -ctime, ma non mi pare di aver trovato -mtime. Credevo fosse una limitazione di ext3, o magari di qualche comando come find o ls... Se è possibile visualizzare la data dell'ultima modifica (non dell'ultimo accesso, eh) vi prego di postare come, perchè mi servirebbe per un semplice script bash. Grazie

Codice: Seleziona tutto
DATAFILE=$(date --date="$(stat -c %y $NOMEFILE)" +%Y%m%d)

E' inutile paragonare fagioli con mele, sono cose diverse che mangi in costesti diversiMario Vanoni ha scritto:Directory con 8200 files *.c

Directory con 15 files *.cconraid ha scritto:E' inutile paragonare fagioli con mele, sono cose diverse che mangi in contesti diversiMario Vanoni ha scritto:Directory con 8200 files *.c

continui a paragonare cose diverse da fare in contesti diversi.Mario Vanoni ha scritto:Directory con 15 files *.cconraid ha scritto:E' inutile paragonare fagioli con mele, sono cose diverse che mangi in contesti diversiMario Vanoni ha scritto:Directory con 8200 files *.c
ls + awk = 0m0.008s
for + bash = 0m0.047s

Corrado, per favore spiegati meglio.conraid ha scritto:continui a paragonare cose diverse da fare in contesti diversi.Mario Vanoni ha scritto: Directory con 15 files *.c
ls + awk = 0m0.008s
for + bash = 0m0.047s
se usi for per processari più file ed assegnare la data ad una variabile (altrimenti il tutto non ha senso, e non ha senso nemmeno che usi quel comando per fare le prove), allora la stessa cosa va fatta anche con ls
altrimenti sono "cose diverse in contesti diversi"
E "for" l'hai usato tu, io ho detto altro su un altro contesto