[Unix] Récupérer le dernier fichier créé
Résolu/Fermé
Trezeg
Messages postés
73
Date d'inscription
mercredi 20 décembre 2006
Statut
Membre
Dernière intervention
24 novembre 2010
-
13 avril 2007 à 16:17
Fooz - 14 mai 2018 à 13:47
Fooz - 14 mai 2018 à 13:47
A voir également:
- [Unix] Récupérer le dernier fichier créé
- Fichier rar - Guide
- Recuperer message whatsapp supprimé - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
5 réponses
gorkimat
Messages postés
70
Date d'inscription
dimanche 1 avril 2007
Statut
Membre
Dernière intervention
1 mars 2012
9
13 avril 2007 à 16:25
13 avril 2007 à 16:25
Bonjour,
Voici un petit bout de code qui te retournera la nom du fichier le plus recent:
ll -rt | tail -1 | awk '{print $9}'
A plus
Gorki
Voici un petit bout de code qui te retournera la nom du fichier le plus recent:
ll -rt | tail -1 | awk '{print $9}'
A plus
Gorki
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
13 avril 2007 à 17:29
13 avril 2007 à 17:29
Salut,
pour quoi pas avec l'option -1 ( le chiffre "un")
le dernier fichier crée c'est le plus récent
en ce cas on peut écrire tout simplement
pour quoi pas avec l'option -1 ( le chiffre "un")
le dernier fichier crée c'est le plus récent
en ce cas on peut écrire tout simplement
ls -1t | head -1
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
13 avril 2007 à 17:20
13 avril 2007 à 17:20
Salut,
Si j'ai bien compris, tu veux filtrer les fichiers "toto.*" contenant la chaîne "rows copied" et affecter à la variable "lastFileRows" le fichier le plus récent d'entre eux, j'ai bon ?
Edit :
Y'a plus simple :
Si j'ai bien compris, tu veux filtrer les fichiers "toto.*" contenant la chaîne "rows copied" et affecter à la variable "lastFileRows" le fichier le plus récent d'entre eux, j'ai bon ?
lastFileRows=$(for i in $(ls -rt toto.*); do grep -l "rows copied" "$i"; done | head -1);-)
Edit :
Y'a plus simple :
lastFileRows=$(grep -l 'rows copied' $(ls -rt toto.*) | head -1)
gorkimat
Messages postés
70
Date d'inscription
dimanche 1 avril 2007
Statut
Membre
Dernière intervention
1 mars 2012
9
13 avril 2007 à 17:58
13 avril 2007 à 17:58
Salut,
Effectivement, je ne connaissait pas cette option. On apprend toujours avec UNIX ;-)
Effectivement, je ne connaissait pas cette option. On apprend toujours avec UNIX ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Trezeg
Messages postés
73
Date d'inscription
mercredi 20 décembre 2006
Statut
Membre
Dernière intervention
24 novembre 2010
2
16 avril 2007 à 10:12
16 avril 2007 à 10:12
Hello,
J'ai utilisé un truc proche de la solution de gorkimat et ca marche assez bien:
En tout cas merci à tous ;-)
Trez
J'ai utilisé un truc proche de la solution de gorkimat et ca marche assez bien:
outputFile=`ll -rt /soft/Control-M/ctmag_u/ctm/sysout/$1.* | tail -1 | awk '{print $9}'`avec $1 mon fichier passé en paramètre. Puis:
outputCount=`grep 'rows copied' $outputFile | nawk '{print $1}'`Je sais que c'est "compactable" mais cette syntaxe me permet de mieux comprendre le cheminement de mon shell.
En tout cas merci à tous ;-)
Trez
14 mai 2018 à 13:47