Flux rss
Collection CommentÇaMarche.net
Rechercher : dans
Par : Mots clés Nom d'utilisateur
Messages sans réponse

[Shell UNIX] Date de modif d'un fichier

jebok, le jeudi 4 août 2005 à 17:54:51 
 Signaler ce message aux modérateurs

Bonjour,

Y a-t-il une commande (ksh) qui permette de récupérer la date de dernière modification d'un fichier (à part ls -lrt) ?

Merci

1

mamiemando, le jeudi 4 août 2005 à 18:20:56

Ben c'est bien ls -l qu'est ce qu'il te faut de plus ? En fait c'est pour faire quoi ?

Répondre à mamiemando

4

jebok, le vendredi 5 août 2005 à 09:28:31

Oui, ls c'est très bien, mais le problème, c'est que je souhaite connaître la date de modif de plusieurs fichiers situés sur plusieurs machines.
Et c'est là que ca se gâte car en fonction de la machine, la date est en anglais ou en francais donc il m'est impossible de faire un traitement automatique de la date...

C'est pourquoi je recherche une commande "universelle" qui donne un résultat formaté que je pourrais ensuite retraité automatiquement (par un script).
Merci de votre aide

Répondre à jebok

2

jisisv, le vendredi 5 août 2005 à 06:14:34

Il existe des outils relatifs aux propriétés des fichiers bien plus intéressants que ls.
Le fait que l'on utilise ksh n'a d'ailleurs rien avoir avec la choucroute, ls est en général une commande externe.
C'est plutot la qualité de la distribution qui est en jeu ici.
Par exemple stat
(sous Debian
johand@horus:~$ dpkg -S $(which stat)
coreutils: /usr/bin/stat)

johand@horus:~$ stat -c "last access: %x last modification:%y" mbox
last access: 2005-08-04 09:18:25.000000000 +0200 last modification:2005-06-23 10:23:42.000000000 +0200

Lire man stat évidemment.

Johan Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)

Répondre à jisisv

3

jebok, le vendredi 5 août 2005 à 09:26:23

Salut et merci pour ta reponse.
Cependant, stat n'est pas une commande valide sur mon poste (AIX)...
Merci de votre aide

Répondre à jebok

5

cepourca, le vendredi 5 août 2005 à 10:11:34

C'est pour ca que quand on pose une question il y a une cas à remplire

VOTRE CONFIGURATION

Répondre à cepourca

6

jebok, le vendredi 5 août 2005 à 10:15:27

Ah bon, c'est pour ça alors...

Répondre à jebok

7

jisisv, le vendredi 5 août 2005 à 10:39:20

Il ne faut pas jeter la pierre à 'jebok' su fait qu'il n'ait pas fourni la dernière révision et le patch ultime de son OS
Le fait qu'il utilise AIX n'est pas un problème.
La question reste ouverte.
Ici on est dans le sub forum Unix , non ?

Johan Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)

Répondre à jisisv

8

jisisv, le vendredi 5 août 2005 à 10:41:48

Ben , essaye de voir s'il existe un code source portable/POSIX ...
pour stat
Google et SourceForge sont tes amis...
Johan Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)

Répondre à jisisv

9

Régis, le lundi 23 octobre 2006 à 13:54:29

Tu peux essayer avec une commande de ce genre. C'est ce que je fais depuis un AIX sur 2 linux différents qui me renvoyent des formattages différents de date

ls -al /pse/versions_etats | sed 's/ * / /g' | cut -d ' ' -f 6-8

Répondre à Régis

10

zzub, le vendredi 30 mars 2007 à 11:19:29

Salut a tous

j'aimerais savoir s'il est possible de récupérer une date au format "secondes depuis1970", et pas jour mois année

Merci!

Répondre à zzub

11

jipicy, le vendredi 30 mars 2007 à 11:33:23

Salut,

man date !

date '+%s'
;-)
Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

12

zzub, le vendredi 30 mars 2007 à 11:52:01

Merci jipicy, mais en fait, le man date de Sun 5.8 est vraiment pas complet... (j'ai une page avec rien de bien utile, je cherche mal??)

en fait ce que je voulais, c'était récupérer la date de dernière modification d'un fichier sous format secondes depuis 1970, pour pouvoir l'utiliser avec Java et le format long...

merci encore pour ton (votre) aide!

Répondre à zzub

13

jipicy, le vendredi 30 mars 2007 à 12:04:48

man stat alors ;-))


       %X     Time of last access as seconds since Epoch

       %x     Time of last access

       %Y     Time of last modification as seconds since Epoch

       %y     Time of last modification

       %Z     Time of last change as seconds since Epoch

       %z     Time of last change
En gros :
stat -c '%X' fichier
;-))
Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

14

zzub, le vendredi 30 mars 2007 à 13:45:48

J'avais déjà essayé stat..

mais :
ksh: stat: not found

j'ai l'impression d'avoir que la base de la base des commandes...

Répondre à zzub

15

Tim Hooks, le jeudi 24 mai 2007 à 17:00:35
  • +1

Sous AIX, la seule astuce que l'on m'a donnée c'est de passer par la commande "tar". Je l'ai complétée en utilisant la commande "time".

Ci joint une fonction t'affichant l'horodatage complet d'un fichier :

function timestamp
{
#DGX&GRE-20050823
#set -x # Pour passer en mode trace

File=$1

if [ ! -f "${File}" -a ! -d "${File}" ]
then
echo "usage : ${0} filename" >&2
return 1
else
touch -r "${File}" /tmp/T.timestamp.$$
LANG=fr_FR # Pour passer en format francais
# LANG=en_EN # Pour passer en format anglais
tar -cf - /tmp/T.timestamp.$$ | tar -tvf - | awk '{print $5" "$6" "$8" "$7}'
rm -f /tmp/T.timestamp.$$
fi
unset File
return 0
}

Répondre à Tim Hooks

16

dubcek, le vendredi 25 mai 2007 à 14:58:42

Est ce que tu as perl installé ?

Répondre à dubcek

17

lami20j, le vendredi 25 mai 2007 à 15:35:08
  • +3

Salut,

Perl est native sur les système type UNIX
lami20j

Répondre à lami20j

18

dubcek, le vendredi 25 mai 2007 à 15:41:04

Sur Solaris, pas avant 2.6 ... quant à AIX ...

le script suivant permet de récupérer les dates en secondes:

perl -e '($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime­,$ctime,$blksize,$blocks) = stat($ARGV[0]); printf "atime=%ld, mtime=%ld, ctime=%ld\n", $atime, $mtime, $ctime' file_name

le même simplifié

perl -e '(@i) = stat($ARGV[0]); printf "atime=%ld, mtime=%ld, ctime=%ld\n", $i[8], $i[9], $i[10]' file_name

Répondre à dubcek

21

 Mister_Toofer, le mardi 14 octobre 2008 à 14:02:27
  • +2

Merci, c'est exactement ce que je cherchais !
Il faudrait que j'apprenne le perl, ça a l'air vachement puissant !

Répondre à Mister_Toofer

19

lami20j, le vendredi 25 mai 2007 à 16:25:31

Encore simplifié

perl -e '($atime,$mtime,$ctime)=(stat($ARGV[0]))[8..10];print "$atime, $mtime, $ctime\n";' file_name
--
lami20j

Répondre à lami20j

20

simonishe, le dimanche 30 décembre 2007 à 13:33:24

Avez-vous essayé :

date -r [fichier] '+%s' ?

Répondre à simonishe
[shell/unix] date de la veille (Résolu) Bonjour, Quelle commande (en shell-UNIX) permet d'afficher la date de la veille ? PS : je précise que c'est pour un script en ksh Merci de votre aide www.commentcamarche.net/forum/affich-1712296-shell-unix-date-de-la-veille
Script shell unix pour modifier un fichier Script shell unix pour modifier un fichier Bonjour, je cherche comment écrire un script shell pour modifier un fichier; en gros mon fichier source ressemble à: entête ligne 1 ligne 2 ... Et moi je voudrais obtenir un nouveau fichier avec: entête ligne... www.commentcamarche.net/forum/affich-2529594-script-shell-unix-pour-modifier-un-fichier
Shell Unix bonjour je ne retrouve plus comment concaténer 2 chaines de caracteres en shell unix sh par exemple pour concaténer la date et le nom d'un fichier dc sans utiliser awk ou autres merci de vos reponses www.commentcamarche.net/forum/affich-2885369-shell-unix
[Mozilla Thunderbird] Fichier winmail.datSymptôme : Un correspondant vous envoie un mail avec une pièce jointe, mais celle-ci n'apparait pas dans le mail : il n'y a qu'un fichier winmail.dat attaché. Explication : Ce problème survient lorsque votre correspondant vous expédie un mail au... www.commentcamarche.net/faq/sujet-2120-mozilla-thunderbird-fichier-winmail-dat
[Shell] Transferer des fichiers via sshSSH - Secure SHell Utilisation Informations complémentaires LOGICIELS Sous Linux/Unix Sous Windows Avertissement Utilisation SSH permet d'utiliser des pipelines de commandes, et d'utiliser des tubes d'entrées/sorties comme toute autre... www.commentcamarche.net/faq/sujet-904-shell-transferer-des-fichiers-via-ssh
Sed - Supprimer une ou plusieurs lignes d'un fichierSupprimer une (ou plusieurs) ligne(s) d'un fichier Syntaxe sed '{[/]||[/]}d' sed '{[/][,][/]d' /.../ = délimiteurs n = le numéro de ligne chaîne = la chaîne contenue dans la... www.commentcamarche.net/faq/sujet-4839-sed-supprimer-une-ou-plusieurs-lignes-d-un-fichier
[shell unix] fichier ligne par ligne (Résolu)Bonjour, comment faire défiler un fichier ligne par ligne, de manière à traiter chaque ligne ? Merci de votre aide www.commentcamarche.net/forum/affich-1702792-shell-unix-fichier-ligne-par-ligne
Convertir fichier .dat en fichier .txBonne et heureuse année 2006. Je souhaite convertir des fichier .dat en fichier .txt en vue d'en importer le contenu dans une base de données SQL. Je recherhce un programme capable de me réaliser cette conversion. Merci www.commentcamarche.net/forum/affich-2020018-convertir-fichier-dat-en-fichier-tx
Probleme passage d'argument shell unix -> pyBonjour, j'ai un problème pour passer des arguments d'un shell Unix à un script python. Voici mon problème : Dans le shell unix : $A="toto" $B="deux mots" ./jpython prog.py "$A" "$B" Dans le code python je récupère les infos suivantes : print... www.commentcamarche.net/forum/affich-261236-probleme-passage-d-argument-shell-unix-py
Télécharger Index.dat AnalyzerIndex.dat Analyzer permet de voir, éditer et effacer le contenu de ces fichiers - théoriquement cachés - qui participent aux fonctions de cache d'Internet explorer, et stockent un certain nombre de vos traces sur internet (URLs notamment), mais aussi... www.commentcamarche.net/telecharger/telecharger-34055298-index-dat-analyzer
Fichier DATFormat DAT Un fichier DAT Un fichier .dat est un fichier de données (.DAT signifie data). En général, il s'agit d'un fichier binaire, créé par un programme et utilisable uniquement par ce programme, ce qui signifie qu'il n'est pas censé être ouvert... www.commentcamarche.net/contents/fichier/dat.php3
Systèmes UNIX - Le shellIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire entre le système... www.commentcamarche.net/contents/unix/unix-shell.php3
UNIX - Les fichiersIntroduction aux fichiers Unix Sous les systèmes UNIX tout élément est représenté sous forme de fichier. L'ensemble des fichiers est architecturé autour d'une unique arborescence dont la base, appelée racine, est notée «/». Types de... www.commentcamarche.net/contents/unix/unix-fichiers.php3