8 votes

Comment obtenir l'avant-dernier fichier d'un dossier sous Linux ?

J'ai trouvé plusieurs messages comme este pour indiquer comment trouver le dernier fichier à l'intérieur d'un dossier.

Ma question est un pas en avant, comment trouver le deuxième fichier le plus récent dans le même dossier ? Le but est que je cherche un moyen de diff le dernier journal avec un journal précédent afin de savoir ce qui a été modifié. Le journal a été généré sur une base quotidienne.

10voto

Cairnarvon Points 6337

En se basant sur les solutions liées, vous pouvez simplement faire tail garder le dernier deux et ensuite passer le résultat à travers head pour garder le premier de ceux-ci :

ls -Art | tail -n 2 | head -n 1

7voto

Jakub M. Points 6126

Pour faire diff des deux derniers fichiers (dernièrement modifiés) :

ls -t | head -n 2 | xargs diff

2voto

Manoj Sahu Points 1437

ls -dt {{your file pattern}} | head -n 2 | tail -n 1

Fournira l'avant-dernier fichier dans le modèle que vous recherchez.

1voto

1_CR Points 11848

Voici une solution basée sur les statistiques (testée sous linux)

for x in ./*; 
do
if [[ -f "$x" ]]; then
  stat --printf="%n %Y\n" "$x"; fi;
done | 
sort -k2,2 -n -r | 
sed -n '2{p;q}'

-4voto

Santosh Dhere Points 1

Voici la commande qui vous renvoie le deuxième fichier le plus récent dans le dossier

ls -lt | tail -n 1 | head -n 2

profiter... !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X