Buscar

PROGRAMAÇÃO PARA SERVIDORES

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Programação para
Servidores
Aula 9 - Programação avançada 2 - Pesquisa e
substituição
INTRODUÇÃO
Os recursos de pesquisa dentro do sistema são um grande diferencial dos scripts bash.
Imagine localizar a referência a um processo ou arquivo entre centenas de outros. Com um comando simples podemos
exibir apenas as informações que se enquadrem nos parâmetros de�nidos.
Os comandos de substituição permitem alterações em longas listas de texto para alterar partes a partir dos
parâmetros de localização.
OBJETIVOS
Aplicar pesquisas complexas em arquivos texto;
Modi�car o conteúdo de arquivos texto de forma automatizada;
Compilar campos de arquivos diferentes;
Reorganizar campos de arquivos.
EXPRESSÕES REGULARES E METACARACTERES
Expressões regulares são constituídas a partir de caracteres normais e caracteres especiais.
Os caracteres especiais (ou metacaracteres) podem ser:
Agora, vamos conhecer os tipos de metacaracteres com mais detalhes.
PESQUISANDO TEXTOS
Para a pesquisa de textos, o programa mais utilizado é o grep, que permite a busca desde simples strings até
expressões regulares.
Pode-se entender o grep como um conjunto de 3 programas:
A sintaxe do grep é:
O grep lê cada arquivo passado pela linha de comando e, quando a linha casa com o padrão pesquisado, ele mostra a
linha.
Quando múltiplos arquivos são passados, o nome do arquivo seguido de dois pontos (":") precede a linha.
Dependendo das opções passadas, o grep pode assumir as funções do egrep e do fgrep, tornando-os obsoletos.
As principais opções do grep são:
SUBSTITUIÇÃO DE TEXTO COM O SED
Muitos scripts, notadamente os voltados para gerar mensagens enviadas automaticamente, baseiam-se em um texto
padrão que será modi�cado de acordo com seu destinatário ou �nalidade, de forma semelhante a uma “mala direta” de
um editor de textos.
O programa mais utilizado para tarefas como esta é o sed (stream editor) (glossário).
O sed recebe um �uxo de texto como entrada e produz o resultado na saída padrão, sem modi�car os arquivos
originais.
O sed é um programa capaz de realizar tarefas complexas, muito além da simples substituição de textos (seu uso mais
comum).
As principais opções do sed são:
As principais opções do sed são:
PESQUISA POR CAMPOS
Um arquivo pode ser considerado como um local onde são armazenados vários registros, sendo cada registro
armazenado em uma linha do arquivo.
Um registro normalmente contém uma série de campos separados por espaços em branco, tabulações ou por algum
caractere.
O arquivo de usuários do Unix, por exemplo, separa os campos utilizando o caractere dois pontos (“:”).
Para selecionar campos em um arquivo, normalmente é utilizado o programa cut, que foi projetado para selecionar um
ou mais campos ou grupos de caracteres de um arquivo de entrada.
Sua sintaxe é:
Suas principais opções são:
Para extrair os nomes de usuário e seus diretórios home, pode ser utilizado o comando:
Para entender o comando acima, é necessário visualizar o conteúdo de /etc/passwd usando cat:
Observe que cada linha se refere a um usuário. Em cada uma, temos diversos campos separados por “:”.
O primeiro campo é o nome do usuário e o sexto é o diretório do usuário.
No comando cut temos:
A saída vai para a tela e o arquivo lido não é alterado.
Caso fosse necessário guardar a resposta, a saída poderia ser direcionada para um arquivo, como no exemplo:
UNINDO CAMPOS
Com o comando join, é possível unir registros de arquivos diferentes que possuam uma chave em comum.
O arquivo deve estar ordenado por tal chave.
A sintaxe do comando join é:
Clique nos checks e veja as principais opções do join:
REARRANJANDO CAMPOS
Para rearranjar campos, o programa mais utilizado é o awk.
No entanto, o awk é, na verdade, uma linguagem de programação criada com a �nalidade de facilitar ações em shell
script.
O awk lê uma linha por vez do arquivo de entrada. Para cada linha, ele aplica comandos especí�cos.
A estrutura básica de um programa awk é:
Um padrão omitido faz com que a ação seja executada em todas as linhas, e uma ação omitida faz com que a linha
seja impressa (equivalente a {print}).
O awk lê linhas de entrada e automaticamente quebra a linha em campos. É de�nida uma variável interna NF que
guarda o número de campos da linha.
Por padrão, os campos são separados por espaços em branco. Porém, o valor da variável FS pode ser de�nido com um
novo valor de separador.
Em comandos simples, pode ser utilizado o parâmetro “-F” para de�nir um novo separador.
Para, por exemplo, mostrar os diretórios home dos usuários seguidos de seu nome, pode-se utilizar o comando:
Para mostrar os usuários do sistema, com nome completo e nome do grupo inicial, pode-se utilizar o script abaixo:
ATIVIDADE
Desenvolva um script que localize todos os arquivos dentro de /etc cujo nome inicie pelos caracteres entre m e p, que
sinalize quais as linhas desses arquivos se iniciem pela expressão “zone”.
Resposta Correta
Glossário
OBSERVE ALGUNS EXEMPLOS DA UTILIZAÇÃO DO METACARACTERE
PONTO:
LISTA
EXEMPLOS DE INTERVALOS DA LISTA:
• [0-9] = [0123456789] 
• [a-z] = [abcdefghijklmnopqrstuvwxyz] 
• [A-Z] = [ABCDEFGHIJKLMNOPQRSTUVWXYZ] 
• [3-8] = [345678] 
• [d-h] = [defgh]
• Letras maiúsculas, minúsculas e números = [A-Za-z0-9]
Para que o traço possa ser utilizado em uma lista, ele deve estar no �nal da lista. Assim, o padrão [a-g-] casa com as letras de a
até g e com o traço.
EXEMPLO DE UTILIZAÇÃO DO METACARACTER ?:
EXEMPLO DE UTILIZAÇÃO DO METACARACTER *:
EXEMPLO DE UTILIZAÇÃO DO METACARACTER +:
EXEMPLO DE UTILIZAÇÃO DO METACARACTER {N,M}:
EXEMPLO DE UTILIZAÇÃO DO $:
EXEMPLO DE UTILIZAÇÃO DO \B:
EXEMPLOS:
EXEMPLOS:
AS SINTAXES MAIS COMUNS DO SED SÃO:
• sed [-n] 'comando_de_edição' [arquivo...];
• sed [-n] -e 'comando_de_edição' ... [arquivo...];
• sed [-n] -f arquivo_script ... [arquivo...].

Outros materiais