Exemplos de busca no Linux

Updated . Posted . Visible to the public.

É bem comum precisarmos buscar por nomes de arquivos ou pastas, ou até mesmo o conteúdo de arquivos no linux pela linha de comando.
As duas ferramentas mais básicas e poderosas pra essas tarefas são o find e o grep, juntamente com o processo de pipelining da shell do linux. Segue alguns exemplos:

A partir da pasta de backups dos clientes, queremos os que foram gerados ontem:
find /media/WORK/backups -type f -name '2012-06-11.backup'
O find espera o caminho como primeiro parâmetro, e uma lista de opções logo em seguida:\
-type f->diz que buscamos apenas por símbolos do tipo "arquivo"\
-name '*2012-06-11*.backup'->diz a wildcard do nome do símbolo que buscamos, nesse caso que contenha '2012-06-11' e que termine com '.backup'. Atenção: NÃO É UMA EXPRESSÃO REGULAR! Mais em WildCard Show archive.org snapshot \

Se quisermos agora pegar o tamanho e detalhes desses arquivos de backup, podemos fazer pipelining com o comando ls:
find /media/WORK/backups -type f -name '2012-06-11.backup' | xargs ls -lah
A construct comando1 | comando2 faz com que o output do comando1 seja usado para alimentar o input do comando2, sendo interpretado na forma de lista no caso de multiline output de comando1. Como o ls -lah não lê por padrão do input, mas sim de um caminho, é preciso usar o xargs para converter input simples em argumentos, de forma que um ls -lah será executado para cada linha de output do find.

Frederico Galvão
Last edit
Posted by Frederico Galvão to ZeroGlosa (2012-06-12 14:46)