web-dev-qa-db-fra.com

Comment tailler tous les fichiers journaux dans un dossier et des sous-dossiers?

Sous Linux, en utilisant la commande tailf, comment puis-je suivre plusieurs fichiers journaux qui se trouvent dans un dossier et dans les sous-dossiers?

36
nakib

Pour enregistrer tous les fichiers dans un dossier, vous pouvez aller dans le dossier et écrire

tailf *.log

Pour ajouter les sous-dossiers à la commande tailf, utilisez

tailf **/*.log

Au lieu de tailf, vous pouvez également utiliser tail -f. Bien sûr, l'expression régulière peut être améliorée pour correspondre uniquement à des noms de fichiers spécifiques.

61
nakib

Cela trouvera récursivement tous les fichiers * .log dans le répertoire courant et ses sous-dossiers et les suivra.

find . -type f \( -name "*.log" \) -exec tail -f "$file" {} +

19
cevaris

Si tous les fichiers journaux n'ont pas la même extension. Vous pouvez utiliser la commande suivante.

tail -f **/*
12
Farid Movsumov

De cette façon, recherchez les fichiers de manière récursive, imprimez les lignes commençant à la ligne 5 dans chaque fichier et enregistrez-les sur concat.txt

find . -type f \( -name "*.dat" \) -exec tail -n+5 -q "$file" {} + |tee concat.txt
0
Ivan Nack