Usando o less como tail -f

Você sabia que o less pode ser utilizado como o tail -f ? Ou seja, o less pode sim ficar atualizando o arquivo. Isso é extremamente útil porque no less você pode ir e voltar no arquivo, fazer buscas e tudo o mais. No tail não, o arquivo passa diante dos seus olhos e você não pode fazer nada, tendo que sair do tail, entrar no less e executar uma busca.

Como fazer isso então ? Simples, basta executar o less assim:

less +F file.log

O less entrará em modo ‘tailing’, adicionando linhas na tela sempre que o arquivo recebê-las. Para interromper isso e entrar no modo ‘less’, onde você pode percorrer o arquivo, basta executar Ctrl+C e então fazer buscas, usar PageUp, PageDown, como quiser…

Para retonar ao modo ‘tailiing’ novamente, basta pressionar Shift+F.

Alguns atalhos utéis:

g - Vai para o começo do arquivo
Shift+g - Vai para o final do arquivo
f - Avança uma página
b - Retrocede uma página
/ - Executa uma busca daquele ponto em diante
? - Executa uma busca antes daquele ponto

Use Facebook to Comment on this Post

Tratando XML como um objeto Python

Algumas vezes, o XML como ele vem é praticamente o que você precisa, sem necessidade de parsear o XML para suas necessidades. Algum tempo atrás eu enfrentei esse “problema”, não queria fazer o parsing do XML pois o formato dele já atendia minhas necessidades. Existem algumas soluções, mas todas precisam do DTD do XML para poderem converter a árvore do XML em objetos. Felizmente, o lxml (sempre ele) veio a salvação. É realmente a melhor biblioteca XML do Python.

from lxml import objectify
 
xml = """
<test>
<inside>2</inside>
<another>
<deep>so deep</deep>
</another>
</test>"""
 
obj = objectify.fromstring(xml)
 
print obj.inside
print obj.another.deep

E você ainda pode percorrer as tags filhas e tudo mais, nada muda.

Use Facebook to Comment on this Post