Tentei ajustar dois arquivos usando a opção:
tail -0f file1.log -0f file2.log
No Linux, vejo um erro "cauda: pode processar apenas um arquivo por vez".
No AIX, vejo o erro como "Opções inválidas".
Isso funciona bem quando eu uso:
tail -f file1 -f file 2
no Linux, mas não no AIX.
Quero poder inicializar vários arquivos usando -0f
ou -f
no AIX / Linux
multitail
não é reconhecido em nenhum desses sistemas operacionais.
screen
para criar duas sessões diferentes? Você deve conseguir usar a cauda nas duas telas? Além disso, você tambémtmux
pode fazer o trabalho se o tiver instalado.Respostas:
Sobre o quê:
Ou prefixando cada linha com o nome do arquivo:
Para seguir todos os arquivos cujo nome corresponde a um padrão, você pode implementar o
tail -f
(que lê o arquivo a cada segundo continuamente) com umzsh
script como:Por exemplo, para seguir todos os arquivos de texto no diretório atual recursivamente:
fonte
sed
caminho ao longo do&
caminho?tail
vários arquivos são estendidos pela versão final do GNU. Com o AIX, você não possui o GNU tail, portanto não pode fazê-lo. Você pode usar em seumultitail
lugar.É possível instalar multitail no Linux e no AIX.
Com o AIX, você pode fazer o download do pacote aqui .
No Linux,
multitail
geralmente é repo, portanto você pode instalá-lo facilmente usando o gerenciador de pacotes distro:apt-get install multitail
yum install multitail
fonte
multitail -i path/to/file1 -i path/to/file2
A seguinte coisa funciona bem para produzir coisas em std out
Eu queria
pipe
a saída para outro processo. No caso acima,&
estava fazendo a peça antes de ser executada em segundo plano e apenas a segunda parte estava sendopiped
processadaentão eu usei
@ Stéphane, sua resposta é perfeita, mas apenas mencionando meu caso de uso, que tem uma pequena reviravolta.
fonte
tail -f file1 file2
não funciona no AIX, em que a cauda aceita apenas um nome de arquivo. Você pode fazer(tail -f file1 & tail -f file2) | process
para redirecionar o stdout de ambos ostail
s para o canal paraprocess
.No OSX e Linux, usando
funciona muito bem para mim. Outra coisa legal é que ele tem a seguinte saída:
para ajudá-lo a reconhecer qual saída é de qual log.
fonte
q
para suprimir os cabeçalhosFornecerei um trecho de código usando
tmux
que pode fornecer duas janelas diferentes que você pode usar para ajustar os dois arquivos simultaneamente:ATUALIZAÇÃO: O uso
screen
também pode anexar / desanexar várias sessões para que você possa executartail
várias vezes também. Eu posso sugerir fazer isso:screen -s Tail_Server1.log
Em seguida, você deseja segurar
CTRL+A+D
para desanexar sem interromper as sessões e depois:Ambos executarão dois separados
screens
, eu me referiria parascreen --help
que você possa ajustá-lo à forma como deseja que as duas telas funcionem no seuterminal
.fonte
Os trabalhos a seguir para mim no SunOS 5.10.
Ambas as caudas serão executadas em segundo plano. As alterações nos arquivos serão lançadas no stdout. Além disso, você pode executar qualquer comando no meio apenas pressionando enter.
fonte
Use o seguinte oneliner:
while true; do cat /path/to/numerous/folders/and/files/*/*.txt | grep "some filter" | tail -n 10; sleep 1; done
A cada 1 segundo, o script imprimirá 10 últimas linhas do fluxo filtrado.
Para interromper o loop, pressione CtrlC.
fonte