Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/09/2024, à 20:44

xunil2003

Savoir le dernier fichier ajouté dans un dossier en ligne de commande

Bonjour,

Je voudrais savoir si il est possible de savoir le dernier fichier ajouté, copié, déplacé dans un dossier en ligne de commande pour un script bash
Je n'est pas trouvé de réponse sur internet.

Merci d'avance pour vos avis et conseils.

Dernière modification par xunil2003 (Le 03/09/2024, à 20:53)


- AMD R9 5950x 64 Go Ram / Intel Pentium I7 960 - 12 Go Ram - 6 T0 - Kubuntu 12.04 x64 / Kubuntu 14.04 x64 / Kubuntu 16.04 x64 / Kubuntu 18.04 x64 /  Kubuntu 20.04 x64 / Mint
- DreamPlug Multi Boot / Marvel 1.22 Ghz / Architecture ARM / 512 Mo Ram / Carte-sd 16 Go class 10 / 5 Watts / Debian Squeeze 2.6.39.4
- Raspberry PI 1 / Raspberry PI 2 / Raspberry PI 3 / Raspberry PI 4 : 4Gb
JE SUIS CHARLIE

Hors ligne

#2 Le 03/09/2024, à 21:22

geole

Re : Savoir le dernier fichier ajouté dans un dossier en ligne de commande

Bonsoir.
Regarde avec la commande ls -rtl


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#3 Le 03/09/2024, à 21:26

jplemoine

Re : Savoir le dernier fichier ajouté dans un dossier en ligne de commande

geole a écrit :

Bonsoir.
Regarde avec la commande ls -rtl

Ben non, si tu copies avec -p, ça garde l'ancienne date.
Donc, je pense que ça ne fonctionne pas (ou en tout cas, pas tout le temps).


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Déconnecté jusqu’à nouvel ordre

Hors ligne

#4 Le 03/09/2024, à 21:39

Watael

Re : Savoir le dernier fichier ajouté dans un dossier en ligne de commande

pareil si le fichier a subi des modifications de son contenu.

et de toutes façons, on n'utilise pas ls dans un script ! 3:}

Dernière modification par Watael (Le 03/09/2024, à 21:41)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#5 Le 04/09/2024, à 17:14

erresse

Re : Savoir le dernier fichier ajouté dans un dossier en ligne de commande

Bonjour,
Pour faire ce que tu veux, tu peux utiliser les évènements "inotify". Installe le paquet pour avoir les commandes inotifywait et inotifywatch

sudo apt install inotify-tools

Ensuite, avec une commande du modèle de celle ci-dessous, dans un script, tu pourras savoir quels sont les derniers objets apparus dans ce répertoire.

inotifywait -mrq -e create -e moved_to --format "%e|%w%f" /chemin/de/ton/dossier/ | while read var ; do echo "$var" >> /chemin/de/ton/dossier/last; done

Un fichier "/chemin/de/ton/dossier/last" sera créé et alimenté au fur et à mesure de l'arrivée de nouveaux objets dans le répertoire, à toi de voir comment en tirer partie...


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#6 Le 17/10/2024, à 17:02

sputnick

Re : Savoir le dernier fichier ajouté dans un dossier en ligne de commande

Voici ce que je met dans mon bashrc, la fonction lrt:

lrt() {
    array_list_temp=( * )
    readarray -td '' array_list_temp_files < <(
        perl -l0e '
            print join "\0",
            sort { -M $a <=> -M $b }
            grep -f, @ARGV
        '  -- "${array_list_temp[@]}"
    )
    printf -- '%s\n' "${array_list_temp_files[-1]}"
}

Ça gère les caractères spéciaux et les espaces

Dernière modification par sputnick (Le 17/10/2024, à 17:39)


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#7 Le 17/10/2024, à 17:18

geole

Re : Savoir le dernier fichier ajouté dans un dossier en ligne de commande

Bonjour
attention à ta mise en forme  (dernière ligne pas dans le code)

Dernière modification par geole (Le 17/10/2024, à 17:20)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne