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?
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.
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" {} +
Si tous les fichiers journaux n'ont pas la même extension. Vous pouvez utiliser la commande suivante.
tail -f **/*
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