la queue comme continue ls (liste des fichiers)
Je suis le suivi de la création de nouveaux fichiers dans un dossier sous linux. Chaque maintenant et puis-je émettre un "ls -ltr". Mais je souhaite qu'il y ait un programme/script qui permettrait d'imprimer automatiquement et uniquement pour les dernières inscriptions. J'ai fait une courte boucle while à la liste, mais il serait répéter les entrées qui ne sont pas nouveaux, et il permettrait de garder mon écran rouler quand il n'y a pas de nouveaux fichiers. J'ai appris à propos de "regarder", qui montre ce que je veux et actualise toutes les N secondes, mais je ne veux pas d'une interface ncurses, je suis à la recherche de quelque chose comme la queue:
- continue
- ne montre que les nouveaux trucs
- imprime dans mon terminal, afin que je puisse l'exécuter en arrière-plan et faire d'autres choses et de voir la sortie de chaque maintenant et puis de se mêler avec ce que je fais 😀
Résumer: obtenir de l'entrée, de la comparer à la précédente, l'entrée, la sortie que ce qui est nouveau.
Quelque chose qui ne qui ne ressemble pas à un tel impair outil, je peux voir qu'il est utilisé pour d'autres situations également, donc je m'attends à ce qu'il en existe déjà, mais je ne pouvais pas trouver quoi que ce soit. Des Suggestions?
double possible de Comment continuellement surveiller le répertoire à l'aide de dnotify /inotify de commande
Je suis en cours d'exécution à la menthe poivrée. Je suis à la recherche en "inotify', je n'avais jamais entendu parler de cela, mettre apparemment, il ne veut pas faire ce que je veux, juste éventuellement m'aide à me programme un script pour le faire.
certainement, regardez la deuxième (lowvoted) réponse. Il fonctionne out-of-box sur mon ubuntu boîte (sudo apt-get install inotify-tools)
OriginalL'auteur msb | 2013-09-05
Vous devez vous connecter pour publier un commentaire.
Si vous avez accès à
inotifywait
(disponible à partir du inotify-tools package si vous êtes sur Debian/Ubuntu), vous pouvez écrire un script comme ceci:C'est un one-liner qui ne vous donnent pas la même information que
ls
fait, mais il permet d'imprimer le nom du fichier:Tout comme une autre observation, le script de la liste de tous les nouveaux fichiers, mais la taille est généralement de zéro, et c'est parce que le ls est exécuté après avoir créé le fichier, mais avant que son contenu est ajouté. J'ai ajouté un usleep devant le ls et maintenant, tout est parfait. 🙂 Pouvez-vous (ou à moi) d'ajouter ce produit à votre réponse?
Modification de l'
-e create
à-e close_write
résoudre ce problème?😮 oui, c'est fait! incroyable ce inotify chose, je vais certainement en apprendre plus à ce sujet. merci encore. 🙂
OriginalL'auteur Sean Bright
Vous pouvez utiliser le très pratique commande
watch
Et vous obtiendrez un
ls
toutes les 10 secondes.Et si vous ajoutez un
tail -10
vous obtenez seulement les 10 nouveautés.comme mentionné dans ma question initiale, la montre n'est pas exactement ce que je veux, car il permet de répéter la dernière fichiers si il n'y a pas assez de nouveaux fichiers, ET il a une interface ncurses. :-/
Oh, désolé, j'ai raté votre mention de malédictions dans mon excitation à répondre. J'utilise la montre beaucoup.
OriginalL'auteur opentokix
Cela fonctionne dans
cygwin
etLinux
. Certaines des solutions proposées écriture d'un fichier va provoquer le disque de thrash.Ce script n'a pas ce problème:
OriginalL'auteur user1186515