J'ai essayé de queue deux fichiers en utilisant l'option:
tail -0f file1.log -0f file2.log
Sous Linux, un message d'erreur "tail: ne peut traiter qu'un fichier à la fois".
Sous AIX, l'erreur est "Options non valides".
Cela fonctionne bien quand j'utilise:
tail -f file1 -f file 2
sous Linux mais pas sous AIX.
Je veux pouvoir gérer plusieurs fichiers avec -0f
ou -f
sous AIX / Linux
multitail
n'est reconnu dans aucun de ces systèmes d'exploitation.
screen
pour créer deux sessions différentes? Vous devriez pouvoir utiliser la queue sur les deux écrans? Aussi,tmux
peut faire le travail aussi bien si vous l'avez installé.Réponses:
Qu'en est-il de:
Ou préfixez chaque ligne avec le nom du fichier:
Pour suivre tous les fichiers dont le nom correspond à un modèle, vous pouvez implémenter le
tail -f
(qui lit le fichier toutes les secondes en continu) avec unzsh
script du type:Ensuite, par exemple, pour suivre tous les fichiers texte du répertoire actuel de manière récursive:
la source
sed
chemin au&
passage?tail
Plusieurs fichiers sont étendus par la version de queue GNU. Avec AIX, vous n'avez pas de queue GNU, vous ne pouvez donc pas le faire. Vous pouvez utiliser à lamultitail
place.Vous pouvez installer multitail sous Linux et AIX.
Avec AIX, vous pouvez télécharger le package ici .
Sous Linux, il
multitail
est souvent en référentiel, vous pouvez donc l'installer facilement en utilisant le gestionnaire de paquets distro:apt-get install multitail
yum install multitail
la source
multitail -i path/to/file1 -i path/to/file2
La chose suivante fonctionne bien pour sortir des choses sur std out
Je voulais
pipe
la sortie vers un autre processus. Dans l’affaire ci-dessus,&
la pièce était créée avant d’être exécutée en arrière-plan et seule la deuxième partie étaitpiped
destinée à être traitée.alors j'ai utilisé
@ Stéphane, ta réponse est parfaite, mais je ne fais que mentionner mon cas d'utilisation qui a une petite tournure.
la source
tail -f file1 file2
cela ne fonctionne pas sous AIX, où tail n'accepte qu'un seul nom de fichier. Vous pouvez faire(tail -f file1 & tail -f file2) | process
pour rediriger la sortie standard des deuxtail
s vers le tuyauprocess
.Sous OSX et Linux, en utilisant
fonctionne très bien pour moi. Une autre bonne chose est qu'il a la sortie suivante:
pour vous aider à reconnaître quelle sortie provient de quel journal.
la source
q
pour supprimer les enJe vais vous fournir un extrait de code
tmux
qui peut vous donner deux fenêtres différentes que vous pouvez utiliser pour gérer les deux fichiers simultanément:UPDATE: Using
screen
peut également attacher / détacher plusieurs sessions afin que vous puissiez également exécutertail
plusieurs fois. Je peux suggérer de faire ceci:screen -s Tail_Server1.log
Ensuite, vous voudrez tenir
CTRL+A+D
à dettach sans tuer les sessions et ensuite:Les deux fonctionneront deux séparément
screens
, je vous renvoie pourscreen --help
que vous puissiez ajuster comment vous voulez que les deux écrans fonctionnent sur votreterminal
.la source
Suivre des travaux pour moi sur SunOS 5.10.
Les deux queues fonctionneront en arrière-plan. Les modifications apportées aux fichiers seront renvoyées sur stdout. De plus, vous pouvez exécuter n'importe quelle commande entre les deux en appuyant simplement sur Entrée.
la source
Utilisez le oneliner suivant:
while true; do cat /path/to/numerous/folders/and/files/*/*.txt | grep "some filter" | tail -n 10; sleep 1; done
Toutes les secondes, le script imprimera les 10 dernières lignes du flux filtré.
Pour rompre la boucle, appuyez sur CtrlC.
la source