- Como Re-Direcionar a Saída de Erro Padrão (STDERR)
No Exemplo do qual estarei mostrando abaixo acho que dá para entender como se usa e para que serve o re-direcionamento de saída de erro padrão:
ls teste 2>> error.log
obs: Em negrito comandos do shell
Aqui no exemplo ocorre o seguinte ele pede para mostrar o arquivo teste caso a arquivo não exista dará o seguinte erro: "ls falhou" a mensagem de erro é anexada no error.log.
Obs2: Modo mais simples que achei para explicar o Re-direcionamento de saíde de erro padrão
ls teste 2>> error.log
obs: Em negrito comandos do shell
Aqui no exemplo ocorre o seguinte ele pede para mostrar o arquivo teste caso a arquivo não exista dará o seguinte erro: "ls falhou" a mensagem de erro é anexada no error.log.
Obs2: Modo mais simples que achei para explicar o Re-direcionamento de saíde de erro padrão
- Como Buscar Registros Únicos (uniq)
O comando para fazer essa função seria o uniq pois tem a função de filtrar uma sequência de linhas de modo a remover as linhas adjacentes com conteúdo repetido. Pode ler as linhas em um arquivo ou então lê-las através de uma canalização.
Em geral é utilizado juntamente com o comando sort para remover repetições de seqüências de linhas previamente ordenadas por este comando usando a saída de outros comandos.
Considerando o arquivo teste.txt abaixo:
Yo
Oi
Yo
Bye
Bye
Um exemplo de uso em conjunto de sort e uniq utilizando um pipe é:
sort teste.txt | uniq
Que produz o resultado:
Yo
Oi
Bye
Em geral é utilizado juntamente com o comando sort para remover repetições de seqüências de linhas previamente ordenadas por este comando usando a saída de outros comandos.
Considerando o arquivo teste.txt abaixo:
Yo
Oi
Yo
Bye
Bye
Um exemplo de uso em conjunto de sort e uniq utilizando um pipe é:
sort teste.txt | uniq
Que produz o resultado:
Yo
Oi
Bye
- Como Ordenar Registros (sort)
O comando para fazer essa função seria o uniq pois tem a função de ordenar tudo que esta dentro do registro em ordem afabética e numérica.Também podendo alternar essa ordem sendo de trás pra frente tambem com uma de suas funções o: -r, mais também há varias.
Exemplo básico de uso de sort:
cat teste.txt
camelo
ostra
tubarão
macaco
Agora com sort:
Exemplo básico de uso de sort:
cat teste.txt
camelo
ostra
tubarão
macaco
Agora com sort:
sort teste.txt
camelo
macaco
ostra
tubarão
E com o uso da função -r:
sort -r teste.txt
tubarão
ostra
macaco
camelo
- Como Usar o Comando find
Para procurar dentro de um diretório específico, informe o caminho ao find:
find caminho/onde/procurar
O find recebe uma série de parâmetros úteis. É bom lembrar que o diretório de procura precisa ser sempre o primeiro parâmetro. Assim, para procurar por todos os arquivos de extensão .txt no diretório atual, faça:
find -name "*.txt"
E para procurar dentro de um diretório específico, use:
find caminho/onde/procurar -name "*.txt"
O find permite a você construir uma série de expressões de procura e operação com os arquivos, algumas bastante complicadas (e poderosas). Vamos dar uma olhada em algumas bem simples. Para apagar os arquivos, use -delete. Então, para apagar todos os arquivos .txt no diretório atual e em seus subdiretórios, faça:
find -name "*.txt" -delete
Você também pode passar parâmetros numéricos, que funcionam segundo a seguinte lógica:
• Um número sozinho significa exatamente aquele número, por exemplo: 3
• Com um sinal de mais, significa maior do que aquele número: +3
• Com um sinal de menos, significa menor do que aquele número: -3
Para ver uma lista dos arquivos modificados há menos de três dias, faça:
find -mtime -3
Para ver os que foram modificados a mais de três dias, inverta o sinal:
find -mtime +3
As expressões mais comuns para uso com tempo são:
• -amin – quando o arquivo foi acessado, em minutos.
• -atime – quando o arquivo foi acessado, em dias.
• -cmin – quando o arquivo foi criado, em minutos.
• -ctime – quando o arquivo foi criado, em dias.
• -mmin – quando o arquivo foi modificado, em minutos.
• -mtime – quando o arquivo foi modificado, em dias.
Outras expressões bastante úteis são:
• -regex: funciona como -name, mas recebe uma expressão regular .
• -size: filtra pelo tamanho do arquivo. É um número seguido de uma letra. As mais comuns são: c – bytes, k – kilobytes, M – megabytes e G – gigabytes.
Por fim, você também pode mandar o find executar operações nos arquivos. Foi o que fizemos no início, quando usamos -delete para apagar arquivos. Dentre as operações, uma legal é a -exec.
Quando você coloca -exec numa linha de comando do find, tudo o que vem depois até o próximo “;” é entendido pelo find como um comando, que ele vai executar para cada um dos arquivos encontrados. É obrigatório colocar “;” para terminar o comando, se você se esquecer vai receber o seguinte erro:
$ find -exec ls
find: faltando argumento para `-exec'
Onde você quiser passar para seu comando o nome do arquivo, use {}. Por exemplo, para tirar a permissões de execução de todos os arquivos TXT na busca, você pode fazer:
find -name "*.txt" -exec chmod -x {} ";"
Isso vai executar, para cada um dos arquivos encontrados:
chmod -x ARQUIVO ;
O último truque que eu gostaria que você guardasse na manga é que você pode combinar o find com o excelente comando grep. Grep faz buscas dentro de um arquivo. Com o parâmetro -l o grep apenas lista o nome do arquivo se a expressão regular de busca for encontrada. Então, para encontrar todos os arquivos python que contém o texto “urllib” você pode fazer:
find -name *.py -exec grep -l urllib {} ";"
O find, é claro, tem muito mais recursos e opções. Se quiser mesmo se aprofundar, man find.
Nenhum comentário:
Postar um comentário