Comment lister les fichiers en fonction de la création du fichier et avec un message d'erreur particulier dans le fichier

Je voudrais répertorier les fichiers en fonction de la date de création et analyser chaque fichier pour un message d'erreur spécifique. Ensuite, si le fichier contient le message d'erreur, il affichera le nom du fichier. J'ai la commande suivante mais cela ne semble pas fonctionner.

ls -lt|grep "Jun 18" > cat *|grep "ERROR"

Des idées?

0
Salut Fedorqui, Merci! oui, c'est ce que je veux faire. Merci d'avance!
ajouté l'auteur Joie Tamayo, source
Salut Fedorqui, Désolé mais je ne comprends pas très bien ce qui n'est pas clair sur ma question. Merci!
ajouté l'auteur Joie Tamayo, source
pas très clair ce que tu veux dire ici. Voulez-vous sélectionner les fichiers créés aujourd'hui et, dans ceux-ci, vérifiez lesquels contiennent une chaîne donnée?
ajouté l'auteur fedorqui, source
Il y a beaucoup de questions autour de l'explication de la récupération des fichiers créés aujourd'hui. Notez également qu'il s'agit de pas la première question que vous posez et que vous manquez les bases: bonne à lire Comment demander .
ajouté l'auteur fedorqui, source
Il ne s'agit pas de savoir ce qui n'est pas clair, mais de faire des recherches et de faire des efforts en demandant.
ajouté l'auteur fedorqui, source

2 Réponses

Utilisez find et grep:

find . -type f -ctime -1 -exec grep "ERROR" -l {} \; 

L'utilisation de l'option -l pour grep vous permet d'imprimer uniquement le nom du fichier correspondant, pas le contenu correspondant.

0
ajouté
Merci arco44! Cela semble fonctionner! Je vais le tester plus loin!
ajouté l'auteur Joie Tamayo, source

Cela devrait fonctionner plutôt bien. Mais il pourrait aussi tirer des fichiers qui ont été modifiés aujourd'hui.

for i in `find . -type f -mtime -1`; do grep "ERROR" $i; done;

Cela va tirer tous les fichiers qui ont été créés (ou éventuellement modifiés) pour le jour en cours et parcourir le fichier et faire écho sur les lignes qui contiennent "ERROR"

0
ajouté