SlideShare a Scribd company logo
1 of 17
Download to read offline
Processar fuxos de textos
usando fltros
www.4linux.com.br
- 2
Sumário
Capítulo 1
Processar fuxos de textos usando fltros...................................................................................3
1.1. Objetivos......................................................................................................................... 3
1.2. Mãos a obra.....................................................................................................................4
Capítulo 2
Gerenciando ............................................................................................................................ 16
2.1. Objetivos....................................................................................................................... 16
2.2. Troubleshooting ........................................................................................................... 17
Índice de tabelas
Índice de Figuras
www.4linux.com.br
Capítulo 1 Processar fluxos de textos usando filtros - 3
Capítulo 1
Processar fuxos de textos usando
fltros
1.1. Objetivos
• Processar fuxos de textos;
• Utilizar fltros de saídas.
www.4linux.com.br
Capítulo 1 Processar fluxos de textos usando filtros - 4
1.2. Mãos a obra
O comando cat é usado para mostrar o conteúdo de um arquivo, e pode atuar
como um redirecionador de dados de sua entrada, enviando para uma saída. Vamos
ver alguns exemplos práticos:
Exibir na saída padrão (tela) o conteúdo de um arquivo:
$ cat lista.txt
Como juntar 3 arquivos mp3 em apenas um só arquivo:
$ cat musica1.mp3 musica2.mp3 musica3.mp3 > musica.mp3
Um outro exemplo é enviar o conteúdo de um dispositivo para um arquivo
.ISO:
# cat /dev/cdrom > CDDebian.iso
Usado para delimitar um arquivo em colunas, com a opção -d especifca qual
o delimitador e -f quais campos serão exibidos. Exemplo:
Exibir o conteúdo das colunas 1 e 7 do arquivo /etc/passwd:
# cut -d ':' -f 1,7 /etc/passwd
www.4linux.com.br
Capítulo 1 Processar fluxos de textos usando filtros - 5
Acrescentando ao fnal a opção --output-delimiter 'caractere' será exibido
outro delimitador:
# cut -d ':' -f 1,7 /etc/passwd --output-delimiter '='
O comando Expand é usado para substituir espaços de tabulação por espaços
simples, use a opção -t + o numero de linhas para selecionar a quantidade de
espaços.
Exemplo de um aquivo texto com tabulação:
$ cat cadastro.txt
Nome Cidade
Maria Santos
João Guarujá
José Sao Paulo
Usando o comando expand vamos substituir os espaços de tabulação por
apenas um espaço, redirecionando a saída para um novo arquivo:
$ expand -t1 cadastro.txt > novocadastro.txt
Exemplo de um aquivo texto após o comando expand:
$ cat novocadastro.txt
Nome Cidade
Maria Santos
João Guarujá
José Sao Paulo
www.4linux.com.br
Capítulo 1 Processar fluxos de textos usando filtros - 6
O comando Unexpand é utilizado para substitui espaços simples por espaços
de tabulação. O comando só terá efeito se o arquivo possuir dois espaços. Vamos ao
exemplo:
$ cat carta.txt
Esta carta pode ser usada como exemplo para o comando unexpand.
Exemplo do aquivo carta.txt texto após o uso do comando unexpand:
$ unexpand carta.txt
Esta carta pode ser usada como
exemplo para o comando unexpand.
Fmt
Formata o conteúdo de um arquivo texto para um numero determinado de
caracteres.
Exemplo da formatação de um arquivo para 60 caracteres:
$ fmt -w 60 /usr/share/doc/make/copyright
Head
Mostra as primeiras 10 linhas de um arquivo, e com -n você pode escolher a
quantidade de linhas e -c a quantidade de caracteres:
Exemplo do comando para exibir apenas as 5 primeiras linhas de um arquivo:
$ head -n5 /usr/share/doc/make/copyright
Exemplo do comando para exibir apenas os 100 primeiros caracteres de um
arquivo:
$ head -c100 /usr/share/doc/make/copyright
www.4linux.com.br
Capítulo 1 Processar fluxos de textos usando filtros - 7
O Comando “Od – Octal Dump” pode ser usado para converter o conteúdo de
um arquivo para diferentes formatos de dados. Opções do de formatos:
-c - ascII
-d - decimal
-f - vírgula futuante
-o - octal
-x – hexadecimal
Veja alguns exemplos de conversão:
Conversão de um arquivo texto para hexadecimal:
$ od -x carta.txt
0000000 4520 7473 2061 6320 7261 6174 2020 6f70
0000020 6564 2020 6573 2072 7520 6173 6164 2020
0000040 6f63 6f6d 2020 7865 6d65 6c70 206f 7020
0000060 7261 2061 6f20 2020 6f63 616d 646e 206f
0000100 7520 656e 7078 6e61 2e64 000a
0000113
Conversão de um arquivo texto para vírgula futuante:
$ od -f carta.txt
0000000 7,709535e+31 2,953812e+21 2,818280e+20 7,431524e+28
0000020 1,358607e-19 2,053176e-19 2,806874e+20 1,358475e-19
0000040 7,348261e+28 1,858887e+34 1,162635e+27 1,982272e+29
0000060 1,909609e-19 1,358930e-19 2,737440e+20 2,027732e-19
0000100 7,038024e+22 1,744252e+28 9,349968e-40
0000113
www.4linux.com.br
Capítulo 1 Processar fluxos de textos usando filtros - 8
O comando Join exibe o conteúdo de arquivos lado a lado usando como base
um campo correspondente
Em nosso exemplo sera usado 2 arquivos, o lista1 e lista2:
$ cat lista1
1 Maria
2 João
3 José
$ cat lista2
1 18 anos
2 23 anos
3 31 anos
Para juntar use o comando join com a opção -j e o valor do campo
correspondente nos dois arquivos:
$ join -j 1 lista1 lista2
1 Maria 18 anos
2 João 23 anos
3 José 31 anos
O comando nl numera linhas não vazias, com -ba numera todas as linhas.
Exemplo do comando para numerar linhas não vazias:
$ nl videogames
1 Playstation
2 X-box
3 Sega Genesis
4 Master System
5 Atari
www.4linux.com.br
Capítulo 1 Processar fluxos de textos usando filtros - 9
6 Nintendo
7 Super Nintendo
Exemplo do comando para numerar todas as linhas:
$ nl videogames
1 Playstation
2
3 X-box
4 Sega Genesis
5
6 Master System
7 Atari
8
9 Nintendo
10 Super Nintendo
Paste
Comano usado para exibir o conteúdo de arquivo lado a lado em forma de
colunas, com a opção -s em forma de linhas, e usado com -d 'caractere' acrescenta
um delimitador.
Em nosso exemplo serão usados os arquivos usuarios e provedores:
$ cat usuarios
maria
joao
jose
$ cat provedores
terra.com.br
bol.com.br
uol.com.br
www.4linux.com.br
Capítulo 1 Processar fluxos de textos usando filtros - 10
Para juntar o conteúdo dos arquivos lado a lado:
$ paste usuarios provedores
maria terra.com.br
joao bol.com.br
jose uol.com.br
Para juntar o conteúdo dos arquivos e exibir em linhas:
$ paste -s usuarios provedores
maria joao jose
terra.com.br bol.com.br uol.com.br
Para juntar o conteúdo dos arquivos lado a lado usando um delimitador:
$ paste -d@ usuarios provedores
maria@terra.com.br
joao@bol.com.br
jose@uol.com.br
Pr
Divide o arquivo para impressão, com a opção -w defne a quantidade de
caracteres:
$ pr -w 60 /usr/share/doc/make/copyright
Sed
Sed é um stream editor, usado para varias tarefas no terminal, como por
exemplo procurar e substituir padrões em textos mostrando o resultado em stdout
opções
-e - Executa a expressão e comando a seguir;
-f - Lê expressões e comandos do arquivo indicado pela opção;
-n - Não Mostra as linhas que não correspondam à expressão.
www.4linux.com.br
Capítulo 1 Processar fluxos de textos usando filtros - 11
Comandos comuns de sed:
s – Substituir;
d - Apaga a linha;
r - Insere o conteúdo do arquivo indicado na ocorrência da expressão;
w - Escreve a saída no arquivo indicado;
g - Substitui todas as ocorrências da expressão na linha atual.
Veja alguns exemplos de uso do comando sed:
Exibir a substituição do conteúdo de arquivo:
Sintaxe:
sed "s/string_original/string_troca/g" arquivo_original
# sed “s/bash/sh/g” /etc/passwd
Enviar a substituição do conteúdo do arquivo para outro arquivo:
# sed “s/bash/sh/g” /etc/passwd > /root/newpasswd
Faz a substituição do conteúdo do arquivo no próprio arquivo original:
# sed -i “s/bash/sh/g” /root/passwd
Type
Comando usado para exibir a interpretação de outros comandos. Com a opção
-t podemos saber se o comando é um alias, interno ou um arquivo binario. Veja
alguns exemplos:
www.4linux.com.br
Capítulo 1 Processar fluxos de textos usando filtros - 12
Interpretação do comando date:
# type -t date
fle
Interpretação do comando pwd:
# type -t pwd
builtin
Interpretação do comando lt:
# type -t pwd
alias
Split
Divide um arquivo em varias partes, com -l pela quantidade de linhas e -b pela
quantidade de kbytes.
Como exemplo sera usado um arquivo de texto de 8 linhas e vamos dividir em
2 arquivos de 4 linhas cada.
Exemplo do arquivo original com todas as linhas:
# cat videogames
Playstation
X-box
Sega Genesis
Master System
Atari
Nintendo
Super Nintendo
Jaguar
www.4linux.com.br
Capítulo 1 Processar fluxos de textos usando filtros - 13
Exemplo da divisão em 2 arquivos:
# split -l 4 videogames parte_
Conteúdo do primeiro arquivo:
# cat parte_aa
Playstation
X-box
Sega Genesis
Master System
Conteúdo do segundo arquivo:
# cat parte_ab
Atari
Nintendo
Super Nintendo
Jaguar
Tail
Mostra as ultimas 10 linhas de um arquivo. Com a opção -n você pode
escolher a quantidade de linhas exibidas, com -c a quantidade de caracteres e com -f
é mostrado continuamente em tempo real.
Exemplo do comando para exibir as 10 ultimas linhas de um arquivo:
# tail /usr/share/doc/make/copyright
Exemplo do comando para exibir continuamente as ultimas linhas de um
arquivo de log:
# tail -f /var/log/auth.log
www.4linux.com.br
Capítulo 1 Processar fluxos de textos usando filtros - 14
Tr
Comando usado para converter caracteres do conteúdo de arquivos.
Exemplo do comando para converter letras minusculas por letras maiúsculas:
# tr '[a-z]' '[A-Z]' < videogames
PLAYSTATION
X-BOX
SEGA GENESIS
MASTER SYSTEM
ATARI
NINTENDO
SUPER NINTENDO
JAGUAR
Uniq
Mostra o conteúdo de arquivos ocultando linhas repetidas, com -u mostra
apenas linhas que não se repetem e com a opção -d as linhas repetidas. Vamos aos
exemplos:
Exibir linhas ocultando as repetidas:
# uniq videogames
Playstation
X-box
Sega Genesis
Master System
Atari
Nintendo
Super Nintendo
Jaguar
www.4linux.com.br
Capítulo 1 Processar fluxos de textos usando filtros - 15
Exibir linhas que não são repetidas:
# uniq -u videogames
Playstation
Sega Genesis
Master System
Atari
Super Nintendo
Jaguar
Exibir linhas que são repetidas:
# uniq -d videogames
X-box
Nintendo
Wc
Comando usado para conta linhas, palavras e caracteres. Opções do comando:
-l – linhas;
w – palavras;
-c – caracteres.
Conta quantas linhas o arquivo possui:
# wc -l videogames
10 videogames
www.4linux.com.br
Capítulo 1 Processar fluxos de textos usando filtros - 16
Capítulo 2
Gerenciando
2.1. Objetivos
• Resolução de problemas utilizando comandos.
www.4linux.com.br
Capítulo 2 Gerenciando - 17
2.2. Troubleshooting
Como faço para remover todos os comentários e linhas em branco de
arquivos de confgurações?
Através do comando sed é possível realizar essas tarefas e jogar a saida para
um outo arquivo. Vamos aos exemplos:
Remover todos os comentários do arquivo de confguração do samba e enviar
para um novo arquivo:
# sed '/^#/d' /etc/samba/smb.conf > /root/smb_no_comments
Remover todas as linhas em branco do arquivo de confguração do samba e
enviar para um novo arquivo:
# sed '/^$/d' /etc/samba/smb.conf > /root/smb_no_blank_lines
www.4linux.com.br

More Related Content

What's hot (20)

Instalação e configuração servidor dns - ubuntu server
Instalação e configuração servidor dns - ubuntu serverInstalação e configuração servidor dns - ubuntu server
Instalação e configuração servidor dns - ubuntu server
 
Trabalho so m4 rui faria
Trabalho so m4   rui fariaTrabalho so m4   rui faria
Trabalho so m4 rui faria
 
Comando CMD
Comando CMDComando CMD
Comando CMD
 
Tex2000
Tex2000Tex2000
Tex2000
 
Msdos vol4
Msdos vol4Msdos vol4
Msdos vol4
 
Comandos Linux Parte 2
Comandos Linux Parte 2Comandos Linux Parte 2
Comandos Linux Parte 2
 
Shell Scipt - Comandos
Shell Scipt - ComandosShell Scipt - Comandos
Shell Scipt - Comandos
 
Realizar o gerenciamento básico de arquivos 4Linux
Realizar o gerenciamento básico de arquivos 4LinuxRealizar o gerenciamento básico de arquivos 4Linux
Realizar o gerenciamento básico de arquivos 4Linux
 
Linux shell
Linux shellLinux shell
Linux shell
 
Comandos MS-DOS
Comandos MS-DOSComandos MS-DOS
Comandos MS-DOS
 
Linux - DNS
Linux - DNSLinux - DNS
Linux - DNS
 
Shell Script - Controle de fluxo
Shell Script - Controle de fluxoShell Script - Controle de fluxo
Shell Script - Controle de fluxo
 
Camada de aplicacao parte2
Camada de aplicacao parte2Camada de aplicacao parte2
Camada de aplicacao parte2
 
Msdos vol3
Msdos vol3Msdos vol3
Msdos vol3
 
Comandos do linux
Comandos do linuxComandos do linux
Comandos do linux
 
Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1
 
Comandos CMD
Comandos CMDComandos CMD
Comandos CMD
 
Aulas linux
Aulas linuxAulas linux
Aulas linux
 
Estrutura de dados ii
Estrutura de dados iiEstrutura de dados ii
Estrutura de dados ii
 
Servidor DNS- BIND
Servidor DNS- BINDServidor DNS- BIND
Servidor DNS- BIND
 

Viewers also liked

Prioridades de processos - nice e renice
Prioridades de processos - nice e renicePrioridades de processos - nice e renice
Prioridades de processos - nice e reniceFábio dos Reis
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores LinuxSoftD Abreu
 
Informática básica internet
Informática básica internetInformática básica internet
Informática básica internetMatheus França
 
Ganhe 5000 reais por mês
Ganhe 5000 reais por mêsGanhe 5000 reais por mês
Ganhe 5000 reais por mêsbetolavras
 
Emailsradio lovor
Emailsradio lovorEmailsradio lovor
Emailsradio lovorradio2203
 
3.000 empresas para enviar curriculo
3.000 empresas para enviar curriculo3.000 empresas para enviar curriculo
3.000 empresas para enviar curriculodenislimacorreia
 

Viewers also liked (10)

Prioridades de processos - nice e renice
Prioridades de processos - nice e renicePrioridades de processos - nice e renice
Prioridades de processos - nice e renice
 
Secretarias municipais as (1)
Secretarias municipais as (1)Secretarias municipais as (1)
Secretarias municipais as (1)
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores Linux
 
Informática básica internet
Informática básica internetInformática básica internet
Informática básica internet
 
Ganhe 5000 reais por mês
Ganhe 5000 reais por mêsGanhe 5000 reais por mês
Ganhe 5000 reais por mês
 
( Espiritismo) # - abrade - enderecos espiritas
( Espiritismo)   # - abrade - enderecos espiritas( Espiritismo)   # - abrade - enderecos espiritas
( Espiritismo) # - abrade - enderecos espiritas
 
Catalogo de Empresas
Catalogo de EmpresasCatalogo de Empresas
Catalogo de Empresas
 
Anuario construtoras ceará 2001
Anuario construtoras ceará 2001Anuario construtoras ceará 2001
Anuario construtoras ceará 2001
 
Emailsradio lovor
Emailsradio lovorEmailsradio lovor
Emailsradio lovor
 
3.000 empresas para enviar curriculo
3.000 empresas para enviar curriculo3.000 empresas para enviar curriculo
3.000 empresas para enviar curriculo
 

Similar to Processar fluxos de textos usando filtros

Similar to Processar fluxos de textos usando filtros (20)

O Que é shell - bash
O Que é shell - bashO Que é shell - bash
O Que é shell - bash
 
Apostila latex 2010
Apostila latex 2010Apostila latex 2010
Apostila latex 2010
 
Latex - Minicurso Básico
Latex - Minicurso BásicoLatex - Minicurso Básico
Latex - Minicurso Básico
 
Comandos básicos linux
Comandos básicos linuxComandos básicos linux
Comandos básicos linux
 
44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch
 
Latex2e - guia rápido e básico
Latex2e - guia rápido e básicoLatex2e - guia rápido e básico
Latex2e - guia rápido e básico
 
Sapo sessions linux power tools
Sapo sessions linux power toolsSapo sessions linux power tools
Sapo sessions linux power tools
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Shell script ii direcionadores-convertido
Shell script ii  direcionadores-convertidoShell script ii  direcionadores-convertido
Shell script ii direcionadores-convertido
 
Aula 11 semana
Aula 11 semanaAula 11 semana
Aula 11 semana
 
O Que é Shell (bash)
O Que é Shell (bash)O Que é Shell (bash)
O Que é Shell (bash)
 
Python
PythonPython
Python
 
Comandos básicos Linux.docx
Comandos básicos Linux.docxComandos básicos Linux.docx
Comandos básicos Linux.docx
 
Html
HtmlHtml
Html
 
Html
HtmlHtml
Html
 
Shell script ii direcionadores
Shell script ii  direcionadoresShell script ii  direcionadores
Shell script ii direcionadores
 
Palestra cbq
Palestra cbqPalestra cbq
Palestra cbq
 
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-c
 
Awk
AwkAwk
Awk
 
Programação Estruturada 2 - Aula 04
Programação Estruturada 2 - Aula 04Programação Estruturada 2 - Aula 04
Programação Estruturada 2 - Aula 04
 

More from SoftD Abreu

Documento sem título.pdf
Documento sem título.pdfDocumento sem título.pdf
Documento sem título.pdfSoftD Abreu
 
O anticristo friedrich nietzsche
O anticristo   friedrich nietzscheO anticristo   friedrich nietzsche
O anticristo friedrich nietzscheSoftD Abreu
 
Humano, demasiado humano ii friedrich nietzsche
Humano, demasiado humano ii   friedrich nietzscheHumano, demasiado humano ii   friedrich nietzsche
Humano, demasiado humano ii friedrich nietzscheSoftD Abreu
 
Detecção de intrusão em grades computacionais
Detecção de intrusão em grades computacionaisDetecção de intrusão em grades computacionais
Detecção de intrusão em grades computacionaisSoftD Abreu
 
Conexão remota e segurança de rede
Conexão remota e segurança de redeConexão remota e segurança de rede
Conexão remota e segurança de redeSoftD Abreu
 
A ferramenta rpm
A ferramenta rpmA ferramenta rpm
A ferramenta rpmSoftD Abreu
 
Livro do pfsense 2.0
Livro do pfsense 2.0Livro do pfsense 2.0
Livro do pfsense 2.0SoftD Abreu
 
Manual wireshark
Manual wiresharkManual wireshark
Manual wiresharkSoftD Abreu
 
Livro nmap mapeador de redes
Livro  nmap mapeador de redesLivro  nmap mapeador de redes
Livro nmap mapeador de redesSoftD Abreu
 
Um Modelo de Segurança de Redes para Ambientes Cooperativo
Um Modelo de Segurança de Redes para Ambientes CooperativoUm Modelo de Segurança de Redes para Ambientes Cooperativo
Um Modelo de Segurança de Redes para Ambientes CooperativoSoftD Abreu
 
Teste de Intrusão Em Redes corporativas
Teste de Intrusão Em Redes corporativasTeste de Intrusão Em Redes corporativas
Teste de Intrusão Em Redes corporativasSoftD Abreu
 
Hacker inside-vol.-2
Hacker inside-vol.-2Hacker inside-vol.-2
Hacker inside-vol.-2SoftD Abreu
 
Hacker inside-vol.-1
Hacker inside-vol.-1Hacker inside-vol.-1
Hacker inside-vol.-1SoftD Abreu
 
Apostila linux curso_basico
Apostila linux curso_basicoApostila linux curso_basico
Apostila linux curso_basicoSoftD Abreu
 
Apostila linux.lmpt
Apostila linux.lmptApostila linux.lmpt
Apostila linux.lmptSoftD Abreu
 
Firewall Iptables - Urubatan Neto
Firewall  Iptables - Urubatan NetoFirewall  Iptables - Urubatan Neto
Firewall Iptables - Urubatan NetoSoftD Abreu
 
O impacto da engenharia social na segurança da informaçao
O impacto da engenharia social na segurança da informaçaoO impacto da engenharia social na segurança da informaçao
O impacto da engenharia social na segurança da informaçaoSoftD Abreu
 
O IMPACTO DA ENGENHARIA SOCIAL NA SEGURANÇA DA INFORMAÇÃO
O IMPACTO DA ENGENHARIA SOCIAL NA SEGURANÇA DA INFORMAÇÃOO IMPACTO DA ENGENHARIA SOCIAL NA SEGURANÇA DA INFORMAÇÃO
O IMPACTO DA ENGENHARIA SOCIAL NA SEGURANÇA DA INFORMAÇÃOSoftD Abreu
 

More from SoftD Abreu (20)

Documento sem título.pdf
Documento sem título.pdfDocumento sem título.pdf
Documento sem título.pdf
 
O anticristo friedrich nietzsche
O anticristo   friedrich nietzscheO anticristo   friedrich nietzsche
O anticristo friedrich nietzsche
 
Humano, demasiado humano ii friedrich nietzsche
Humano, demasiado humano ii   friedrich nietzscheHumano, demasiado humano ii   friedrich nietzsche
Humano, demasiado humano ii friedrich nietzsche
 
Detecção de intrusão em grades computacionais
Detecção de intrusão em grades computacionaisDetecção de intrusão em grades computacionais
Detecção de intrusão em grades computacionais
 
Conexão remota e segurança de rede
Conexão remota e segurança de redeConexão remota e segurança de rede
Conexão remota e segurança de rede
 
A ferramenta rpm
A ferramenta rpmA ferramenta rpm
A ferramenta rpm
 
Livro do pfsense 2.0
Livro do pfsense 2.0Livro do pfsense 2.0
Livro do pfsense 2.0
 
Manual wireshark
Manual wiresharkManual wireshark
Manual wireshark
 
Livro nmap mapeador de redes
Livro  nmap mapeador de redesLivro  nmap mapeador de redes
Livro nmap mapeador de redes
 
Um Modelo de Segurança de Redes para Ambientes Cooperativo
Um Modelo de Segurança de Redes para Ambientes CooperativoUm Modelo de Segurança de Redes para Ambientes Cooperativo
Um Modelo de Segurança de Redes para Ambientes Cooperativo
 
Teste de Intrusão Em Redes corporativas
Teste de Intrusão Em Redes corporativasTeste de Intrusão Em Redes corporativas
Teste de Intrusão Em Redes corporativas
 
Roteadores
RoteadoresRoteadores
Roteadores
 
Hacker inside-vol.-2
Hacker inside-vol.-2Hacker inside-vol.-2
Hacker inside-vol.-2
 
Hacker inside-vol.-1
Hacker inside-vol.-1Hacker inside-vol.-1
Hacker inside-vol.-1
 
Gimp
GimpGimp
Gimp
 
Apostila linux curso_basico
Apostila linux curso_basicoApostila linux curso_basico
Apostila linux curso_basico
 
Apostila linux.lmpt
Apostila linux.lmptApostila linux.lmpt
Apostila linux.lmpt
 
Firewall Iptables - Urubatan Neto
Firewall  Iptables - Urubatan NetoFirewall  Iptables - Urubatan Neto
Firewall Iptables - Urubatan Neto
 
O impacto da engenharia social na segurança da informaçao
O impacto da engenharia social na segurança da informaçaoO impacto da engenharia social na segurança da informaçao
O impacto da engenharia social na segurança da informaçao
 
O IMPACTO DA ENGENHARIA SOCIAL NA SEGURANÇA DA INFORMAÇÃO
O IMPACTO DA ENGENHARIA SOCIAL NA SEGURANÇA DA INFORMAÇÃOO IMPACTO DA ENGENHARIA SOCIAL NA SEGURANÇA DA INFORMAÇÃO
O IMPACTO DA ENGENHARIA SOCIAL NA SEGURANÇA DA INFORMAÇÃO
 

Processar fluxos de textos usando filtros

  • 1. Processar fuxos de textos usando fltros www.4linux.com.br
  • 2. - 2 Sumário Capítulo 1 Processar fuxos de textos usando fltros...................................................................................3 1.1. Objetivos......................................................................................................................... 3 1.2. Mãos a obra.....................................................................................................................4 Capítulo 2 Gerenciando ............................................................................................................................ 16 2.1. Objetivos....................................................................................................................... 16 2.2. Troubleshooting ........................................................................................................... 17 Índice de tabelas Índice de Figuras www.4linux.com.br
  • 3. Capítulo 1 Processar fluxos de textos usando filtros - 3 Capítulo 1 Processar fuxos de textos usando fltros 1.1. Objetivos • Processar fuxos de textos; • Utilizar fltros de saídas. www.4linux.com.br
  • 4. Capítulo 1 Processar fluxos de textos usando filtros - 4 1.2. Mãos a obra O comando cat é usado para mostrar o conteúdo de um arquivo, e pode atuar como um redirecionador de dados de sua entrada, enviando para uma saída. Vamos ver alguns exemplos práticos: Exibir na saída padrão (tela) o conteúdo de um arquivo: $ cat lista.txt Como juntar 3 arquivos mp3 em apenas um só arquivo: $ cat musica1.mp3 musica2.mp3 musica3.mp3 > musica.mp3 Um outro exemplo é enviar o conteúdo de um dispositivo para um arquivo .ISO: # cat /dev/cdrom > CDDebian.iso Usado para delimitar um arquivo em colunas, com a opção -d especifca qual o delimitador e -f quais campos serão exibidos. Exemplo: Exibir o conteúdo das colunas 1 e 7 do arquivo /etc/passwd: # cut -d ':' -f 1,7 /etc/passwd www.4linux.com.br
  • 5. Capítulo 1 Processar fluxos de textos usando filtros - 5 Acrescentando ao fnal a opção --output-delimiter 'caractere' será exibido outro delimitador: # cut -d ':' -f 1,7 /etc/passwd --output-delimiter '=' O comando Expand é usado para substituir espaços de tabulação por espaços simples, use a opção -t + o numero de linhas para selecionar a quantidade de espaços. Exemplo de um aquivo texto com tabulação: $ cat cadastro.txt Nome Cidade Maria Santos João Guarujá José Sao Paulo Usando o comando expand vamos substituir os espaços de tabulação por apenas um espaço, redirecionando a saída para um novo arquivo: $ expand -t1 cadastro.txt > novocadastro.txt Exemplo de um aquivo texto após o comando expand: $ cat novocadastro.txt Nome Cidade Maria Santos João Guarujá José Sao Paulo www.4linux.com.br
  • 6. Capítulo 1 Processar fluxos de textos usando filtros - 6 O comando Unexpand é utilizado para substitui espaços simples por espaços de tabulação. O comando só terá efeito se o arquivo possuir dois espaços. Vamos ao exemplo: $ cat carta.txt Esta carta pode ser usada como exemplo para o comando unexpand. Exemplo do aquivo carta.txt texto após o uso do comando unexpand: $ unexpand carta.txt Esta carta pode ser usada como exemplo para o comando unexpand. Fmt Formata o conteúdo de um arquivo texto para um numero determinado de caracteres. Exemplo da formatação de um arquivo para 60 caracteres: $ fmt -w 60 /usr/share/doc/make/copyright Head Mostra as primeiras 10 linhas de um arquivo, e com -n você pode escolher a quantidade de linhas e -c a quantidade de caracteres: Exemplo do comando para exibir apenas as 5 primeiras linhas de um arquivo: $ head -n5 /usr/share/doc/make/copyright Exemplo do comando para exibir apenas os 100 primeiros caracteres de um arquivo: $ head -c100 /usr/share/doc/make/copyright www.4linux.com.br
  • 7. Capítulo 1 Processar fluxos de textos usando filtros - 7 O Comando “Od – Octal Dump” pode ser usado para converter o conteúdo de um arquivo para diferentes formatos de dados. Opções do de formatos: -c - ascII -d - decimal -f - vírgula futuante -o - octal -x – hexadecimal Veja alguns exemplos de conversão: Conversão de um arquivo texto para hexadecimal: $ od -x carta.txt 0000000 4520 7473 2061 6320 7261 6174 2020 6f70 0000020 6564 2020 6573 2072 7520 6173 6164 2020 0000040 6f63 6f6d 2020 7865 6d65 6c70 206f 7020 0000060 7261 2061 6f20 2020 6f63 616d 646e 206f 0000100 7520 656e 7078 6e61 2e64 000a 0000113 Conversão de um arquivo texto para vírgula futuante: $ od -f carta.txt 0000000 7,709535e+31 2,953812e+21 2,818280e+20 7,431524e+28 0000020 1,358607e-19 2,053176e-19 2,806874e+20 1,358475e-19 0000040 7,348261e+28 1,858887e+34 1,162635e+27 1,982272e+29 0000060 1,909609e-19 1,358930e-19 2,737440e+20 2,027732e-19 0000100 7,038024e+22 1,744252e+28 9,349968e-40 0000113 www.4linux.com.br
  • 8. Capítulo 1 Processar fluxos de textos usando filtros - 8 O comando Join exibe o conteúdo de arquivos lado a lado usando como base um campo correspondente Em nosso exemplo sera usado 2 arquivos, o lista1 e lista2: $ cat lista1 1 Maria 2 João 3 José $ cat lista2 1 18 anos 2 23 anos 3 31 anos Para juntar use o comando join com a opção -j e o valor do campo correspondente nos dois arquivos: $ join -j 1 lista1 lista2 1 Maria 18 anos 2 João 23 anos 3 José 31 anos O comando nl numera linhas não vazias, com -ba numera todas as linhas. Exemplo do comando para numerar linhas não vazias: $ nl videogames 1 Playstation 2 X-box 3 Sega Genesis 4 Master System 5 Atari www.4linux.com.br
  • 9. Capítulo 1 Processar fluxos de textos usando filtros - 9 6 Nintendo 7 Super Nintendo Exemplo do comando para numerar todas as linhas: $ nl videogames 1 Playstation 2 3 X-box 4 Sega Genesis 5 6 Master System 7 Atari 8 9 Nintendo 10 Super Nintendo Paste Comano usado para exibir o conteúdo de arquivo lado a lado em forma de colunas, com a opção -s em forma de linhas, e usado com -d 'caractere' acrescenta um delimitador. Em nosso exemplo serão usados os arquivos usuarios e provedores: $ cat usuarios maria joao jose $ cat provedores terra.com.br bol.com.br uol.com.br www.4linux.com.br
  • 10. Capítulo 1 Processar fluxos de textos usando filtros - 10 Para juntar o conteúdo dos arquivos lado a lado: $ paste usuarios provedores maria terra.com.br joao bol.com.br jose uol.com.br Para juntar o conteúdo dos arquivos e exibir em linhas: $ paste -s usuarios provedores maria joao jose terra.com.br bol.com.br uol.com.br Para juntar o conteúdo dos arquivos lado a lado usando um delimitador: $ paste -d@ usuarios provedores maria@terra.com.br joao@bol.com.br jose@uol.com.br Pr Divide o arquivo para impressão, com a opção -w defne a quantidade de caracteres: $ pr -w 60 /usr/share/doc/make/copyright Sed Sed é um stream editor, usado para varias tarefas no terminal, como por exemplo procurar e substituir padrões em textos mostrando o resultado em stdout opções -e - Executa a expressão e comando a seguir; -f - Lê expressões e comandos do arquivo indicado pela opção; -n - Não Mostra as linhas que não correspondam à expressão. www.4linux.com.br
  • 11. Capítulo 1 Processar fluxos de textos usando filtros - 11 Comandos comuns de sed: s – Substituir; d - Apaga a linha; r - Insere o conteúdo do arquivo indicado na ocorrência da expressão; w - Escreve a saída no arquivo indicado; g - Substitui todas as ocorrências da expressão na linha atual. Veja alguns exemplos de uso do comando sed: Exibir a substituição do conteúdo de arquivo: Sintaxe: sed "s/string_original/string_troca/g" arquivo_original # sed “s/bash/sh/g” /etc/passwd Enviar a substituição do conteúdo do arquivo para outro arquivo: # sed “s/bash/sh/g” /etc/passwd > /root/newpasswd Faz a substituição do conteúdo do arquivo no próprio arquivo original: # sed -i “s/bash/sh/g” /root/passwd Type Comando usado para exibir a interpretação de outros comandos. Com a opção -t podemos saber se o comando é um alias, interno ou um arquivo binario. Veja alguns exemplos: www.4linux.com.br
  • 12. Capítulo 1 Processar fluxos de textos usando filtros - 12 Interpretação do comando date: # type -t date fle Interpretação do comando pwd: # type -t pwd builtin Interpretação do comando lt: # type -t pwd alias Split Divide um arquivo em varias partes, com -l pela quantidade de linhas e -b pela quantidade de kbytes. Como exemplo sera usado um arquivo de texto de 8 linhas e vamos dividir em 2 arquivos de 4 linhas cada. Exemplo do arquivo original com todas as linhas: # cat videogames Playstation X-box Sega Genesis Master System Atari Nintendo Super Nintendo Jaguar www.4linux.com.br
  • 13. Capítulo 1 Processar fluxos de textos usando filtros - 13 Exemplo da divisão em 2 arquivos: # split -l 4 videogames parte_ Conteúdo do primeiro arquivo: # cat parte_aa Playstation X-box Sega Genesis Master System Conteúdo do segundo arquivo: # cat parte_ab Atari Nintendo Super Nintendo Jaguar Tail Mostra as ultimas 10 linhas de um arquivo. Com a opção -n você pode escolher a quantidade de linhas exibidas, com -c a quantidade de caracteres e com -f é mostrado continuamente em tempo real. Exemplo do comando para exibir as 10 ultimas linhas de um arquivo: # tail /usr/share/doc/make/copyright Exemplo do comando para exibir continuamente as ultimas linhas de um arquivo de log: # tail -f /var/log/auth.log www.4linux.com.br
  • 14. Capítulo 1 Processar fluxos de textos usando filtros - 14 Tr Comando usado para converter caracteres do conteúdo de arquivos. Exemplo do comando para converter letras minusculas por letras maiúsculas: # tr '[a-z]' '[A-Z]' < videogames PLAYSTATION X-BOX SEGA GENESIS MASTER SYSTEM ATARI NINTENDO SUPER NINTENDO JAGUAR Uniq Mostra o conteúdo de arquivos ocultando linhas repetidas, com -u mostra apenas linhas que não se repetem e com a opção -d as linhas repetidas. Vamos aos exemplos: Exibir linhas ocultando as repetidas: # uniq videogames Playstation X-box Sega Genesis Master System Atari Nintendo Super Nintendo Jaguar www.4linux.com.br
  • 15. Capítulo 1 Processar fluxos de textos usando filtros - 15 Exibir linhas que não são repetidas: # uniq -u videogames Playstation Sega Genesis Master System Atari Super Nintendo Jaguar Exibir linhas que são repetidas: # uniq -d videogames X-box Nintendo Wc Comando usado para conta linhas, palavras e caracteres. Opções do comando: -l – linhas; w – palavras; -c – caracteres. Conta quantas linhas o arquivo possui: # wc -l videogames 10 videogames www.4linux.com.br
  • 16. Capítulo 1 Processar fluxos de textos usando filtros - 16 Capítulo 2 Gerenciando 2.1. Objetivos • Resolução de problemas utilizando comandos. www.4linux.com.br
  • 17. Capítulo 2 Gerenciando - 17 2.2. Troubleshooting Como faço para remover todos os comentários e linhas em branco de arquivos de confgurações? Através do comando sed é possível realizar essas tarefas e jogar a saida para um outo arquivo. Vamos aos exemplos: Remover todos os comentários do arquivo de confguração do samba e enviar para um novo arquivo: # sed '/^#/d' /etc/samba/smb.conf > /root/smb_no_comments Remover todas as linhas em branco do arquivo de confguração do samba e enviar para um novo arquivo: # sed '/^$/d' /etc/samba/smb.conf > /root/smb_no_blank_lines www.4linux.com.br