UESPI – UNIVERSIDADE ESTADUAL DO PIAUÍ
             Bacharelado em Ciências da Computação


                              OPTATIVA I



Filtros de Textos
Redirecionadores e Condutor
Wildcards




Tarcísio Franco Jaime
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                                Utilizando filtros de Textos
                           Cat – imprime contéudo de arquivos na tela,
                            recebe texto digitado pelo teclado para um arquivo
                            e concatena arquivos.
                        ex.: cat teste.txt = ver o conteúdo do arquivo
Prof. Tarcísio Franco




                        cat -n teste.txt = inseri nº de linhas
                        cat teste.txt > texto.txt = concatena, substituindo
                        cat teste.txt >> texto.txt = concatenca, adicionando
                               Criar arquivo teste.txt e texto.txt, e usar os exemplos
                                acima.(cat > teste.txt, man cat > texto.txt)
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                        
                            Cut – lê o conteúdo de um ou mais arquivos, e
                            corta a coluna, tem como saída uma coluna
                            vertical.
                        Opções:
                                   
                                       -d delimitador Configura delimitador que separa uma coluna da
                                       outra. Padrão é Tab.
                                       -f número Imprime a coluna número
Prof. Tarcísio Franco




                                   




                        ex.:
                        cut -d : -f 1 /etc/passwd
                            
                                Crie um arquivo, chamado arquivo.txt delimitado
                                com Tab que possua o conteúdo listado abaixo, e
                                liste deste arquivo somente os shells .
                        zequinha    /home/zequinha 10     /bin/bash
                        fulanodetal /home/fulanodetal    4     /bin/bash
                        zeca /home/zeca    5    /bin/bash
Head – mostra as 10 linhas do início do arquivo




                                                                                            UESPI – Universidade Estadual do Piauí - OPTATIVA I
                        


                        Opções:
                        -n número Configura o número de linhas que o head exibirá
                        ex.: head /var/log/messages
                        Listar as primeiros 30 linhas do arquivo /var/log/messages


                           Tail – visualiza as últimas 10 linhas de um arquivo.
Prof. Tarcísio Franco




                        Opções:
                        -n número Configura o número de linhas a ser exibido
                        -f Mostra as últimas linhas de um arquivo continuamente
                        ex.: tail /var/log/messages
                        Em um terminal fique visualizando a saída contínua de um arquivo
                         com tail, e em outro terminal acrescente mais uma linha neste
                         arquivo que está sendo visualizado, e verifique se o arquivo foi
                         atualizado.
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                        
                            paste - concatena as linhas de diversos
                            arquivos.
                        Opções:
                        -d 'x' Separa as colunas com símbolo x dentro das aspas
                          simples
                        -s concatena todo o contéudo de um arquivo com uma
                          linha para cada arquivo
Prof. Tarcísio Franco




                        ex.: paste arq1 arq2
                        Criar um arquivo com 5 nomes de pessoa, chamado
                          “nomes”, onde cada linha possui um nome. Criar outro
                          arquivo com 5 nomes de provedores de email. Gere a
                          seguinte saída nome@provedor
                        Testar com 3 arquivos: crie arquivo com quantidade de
                          emails, chamado “qtd”, mude para “ -d ':' ”
                        Teste com a opção -s
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                        
                            Join – une as linhas de dois arquivos q
                            possuem índice comum. Os arquivos
                            devem estar ordenados em ordem
                            crescente pelo índice.
                        Opções:
                        -o A.C,A.C, monta os registros na saída padrão de acordo
Prof. Tarcísio Franco




                          com a ordem determinada por A.C onde A é o número do
                          arquivo e C é a posição do campo no arquivo. Os campos
                          A.C são separados por uma vírgula.
                        ex.: joint -t; -o 1.1,1.2,2.2 nomes provedores
                        Usar os arquivos anteriores para fazer os testes. Usar
                          como separador de campos o “;”
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                        
                            Join
                        Crie um arquivo onde seja a junção do
                         arquivo “nomes” com o arquivo “qtd”,
                         chamado “nomqtd”
                        Faça um join agora desses dois arquivos
Prof. Tarcísio Franco




                         “nomqtd” e “provedores”, onde gere na
                         tela:
                        nome;provedor;quantidade
Split – usado para dividir grandes




                                                                            UESPI – Universidade Estadual do Piauí - OPTATIVA I
                        


                            arquivos em n-arquivos menores. Por
                            padrão divide arquivo texto entre 1000
                            linhas.
                        Opções:
                        -l nº número de linhas para divisão de um arquivo
                           texto
Prof. Tarcísio Franco




                        -b tam K|M|G define o tamanho na variável tam de
                           acordo com Kbyte...
                        -d nome uso de sufixo numérico, a partir no nome.
                           nome01, nome02,
                        Criar um arquivo com mais de 1000 linhas e fazer
                           sua separação com tamanhos de 50 linhas.
                        Separar um arquivo pelo tamanho.
                              –   Para juntar as partes:
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                        Redirecionamento e Condutores
                        •   Entrada padrão (stdin): entrada de um
                            fluxo de dados. ex.: teclado, mouse, cd...
                            Pode ser representado por 0. Alimentam o
                            computador com informações.
Prof. Tarcísio Franco




                        •   Saída padrão (stdout): saída de fluxo de
                            dados em condições normais. Como
                            monitor, impressora, arquivo, etc.
                            Recebem informações do computador.
                            Representado por 1.
                        •   Saída de Erro (stderr): é a saída de um
                            fluxo de dados em condições de erro ou
                            insucesso. Represnetada por 2.
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                        Redirecionamento e Condutores
                        •   Para redirecionar um resultado de uma
                            saída para uma outra saída utilizamos o
                            sinal de maior(>)
                        •   Para direcionarmos um a entrada para
Prof. Tarcísio Franco




                            outra entrada usamos o sinal de
                            menor(<)
                        •   Para direcionarmos uma saída para uma
                            entrada , usamos o pipe (|) ou condutor.
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                        Redirecionamento e Condutores
                        ex.:
                        mail aluno@uespi.br < email.txt
                        o prg mail esta recebendo como argumento
                          o end. de email e ao invés de utilizar o
Prof. Tarcísio Franco




                          teclado como entrada padrão, o arquivo
                          email.txt é redirecionado como entrada.
                        ./folha_pagamento > arquivo1
                        envia toda a saída do programa
                         folha_pagamento para o arquivo1
                        ./folha_pagamento 2 > arq_erro.log
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                        Redirecionamento e Condutores
                        ./folha_pagamento > arquivoTotal 2>&1
                        ./folha_pagamento > arquivoTotal 2> arquivoTotal
                        envia toda a saída padrão e de erros para arquivoTotal
                        ./folha_pagamento > arq_sucesso 2> arq_err
Prof. Tarcísio Franco




                        envia toda saída normal para arq_sucesso e a saída de
                         erro para arq_err
                        ./folha_pagamento | imprime_boletos 2> arq_err
                        envia o resultado da folha_pagamento para para o
                         processo imprime_boletos e a saída do
                         imprime_boleto para o arquivo arq_err
                        Fazer Exemplos.
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                        Redirecionamento e Condutores
                        . ls dddf* 2> arquivo
                        ls > arvquivo
                        ls > arquivo 2> erro
                        ls *.df *.txt 2> saida
Prof. Tarcísio Franco




                        ls *.df *.txt > saida 2> /dev/null
                        ls *df *.txt > saida 2>&1
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                          Símbolos Coringa (wildcards)
                           Símbolo                Descrição
                           *                      Significa “vale qualquer coisa” e pode substituir
                                                  um ou mais caracteres de um nome. Ex.:
                                                  “Certifi*” pode ser Certificado, Certificação, ou
                                                  qualquer combinação que iniciem com “Certifi”.
                           ?                      Significa que pode substituir um caractere
                                                  somente de um nome. Ex.: “?ertificado” pode
Prof. Tarcísio Franco




                                                  substituir “Certificado”, “certificado” ou qualquer
                                                  combinação de nomes de arquivos que inicie com
                                                  um caracter qualquer e termine com “ertificado”.
                           {texto1,texto2,texto3 Substitui a parte dentro das chaves pelo texto1,
                           ...}                  depois pelo texto2, assim por diante. Ex.: parte
                                                 {a,b,c} vai resultar em parte_a, parte_b e parte_c


                        Liste os arquivos que tenha como final pdf, txt,
                          jpg e png. Mostre na tela somente o resultado
                          livre de qualquer erro.
Tac – mostra um ou mais arquivos de trás




                                                                       UESPI – Universidade Estadual do Piauí - OPTATIVA I
                        

                            para frente
                        ex.: tac [arquivos]
                           Sort – uso comum para ordenar arquivos
                        Ex: sort arquivo.txt
Prof. Tarcísio Franco
Crie o arquivo “alfabeto.txt” com o contéudo:




                                                                           UESPI – Universidade Estadual do Piauí - OPTATIVA I
                        a:f
                        b:e
                        c:d
                        d:c
                        e:b
Prof. Tarcísio Franco




                        f:a
                        Empregue o seguinte comando abaixo e verifique o
                          resultado:
                        sort alfabeto.txt
                        sort alfabeto.txt -t: -k2
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                           Uniq - filtrar uma sequencia de linhas de
                            modo que possa remover as linha
                            adjacentes com conteúdo repetido.
                               -c -exibe o número de ocorrências de cada linha do
                                arquivo.
                               -d -exibe apenas as linhas com mais de uma
                                ocorrência onde cada linha é mostrada apenas uma
Prof. Tarcísio Franco




                                vez.
                               -D -exibe todas as linhas com mais de uma ocorrência.
                                Se uma determinada linha possui duas ocorrências, ela
                                é exibida duas vezes.
                               -i -ignora a diferença entre letras maiúsculas e letras
                                minúsculas.
                               -u -exibe apenas as linhas que possuem uma única
                                ocorrência.
                        Obs.: o arquivo tem que está ordenado.
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                           Uniq
                        ex.:
                        criar arquivo com o sequinte conteúdo
                        aaaa
                        aaaa
                        AAAA
                        bbb
Prof. Tarcísio Franco




                        bbbbb
                        cccc
                        CCCC
                                    •   Quantas ocorrências de linhas iguais temos no
                                        arquivo?
                                    •   Liste somente as linhas não repetidas.
                                    •   Liste somente as linhas repetidas.
                                    •   Liste somente as linhas repetidas com suas
                                        ocorrêcias.
UESPI – Universidade Estadual do Piauí - OPTATIVA I
                           Grep – filtra as linhas de um determinado
                            arquivo procurando por uma expressão
                            regular
                        -c mostra somente a contagem das
                          ocorrências
                        -i ignora as ocorrências se estão Maiúscula
Prof. Tarcísio Franco




                          ou minúscula.
                        -v efeito inverso, não mostra a linha da
                          ocorrência
                        -n mostra, além do texto, o nº da linha
                        ex.: grep nome arquivo.txt
                        grep nome /etc/*

OptativaIAula04

  • 1.
    UESPI – UNIVERSIDADEESTADUAL DO PIAUÍ Bacharelado em Ciências da Computação OPTATIVA I Filtros de Textos Redirecionadores e Condutor Wildcards Tarcísio Franco Jaime
  • 2.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I Utilizando filtros de Textos  Cat – imprime contéudo de arquivos na tela, recebe texto digitado pelo teclado para um arquivo e concatena arquivos. ex.: cat teste.txt = ver o conteúdo do arquivo Prof. Tarcísio Franco cat -n teste.txt = inseri nº de linhas cat teste.txt > texto.txt = concatena, substituindo cat teste.txt >> texto.txt = concatenca, adicionando  Criar arquivo teste.txt e texto.txt, e usar os exemplos acima.(cat > teste.txt, man cat > texto.txt)
  • 3.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I  Cut – lê o conteúdo de um ou mais arquivos, e corta a coluna, tem como saída uma coluna vertical. Opções:  -d delimitador Configura delimitador que separa uma coluna da outra. Padrão é Tab. -f número Imprime a coluna número Prof. Tarcísio Franco  ex.: cut -d : -f 1 /etc/passwd  Crie um arquivo, chamado arquivo.txt delimitado com Tab que possua o conteúdo listado abaixo, e liste deste arquivo somente os shells . zequinha /home/zequinha 10 /bin/bash fulanodetal /home/fulanodetal 4 /bin/bash zeca /home/zeca 5 /bin/bash
  • 4.
    Head – mostraas 10 linhas do início do arquivo UESPI – Universidade Estadual do Piauí - OPTATIVA I  Opções: -n número Configura o número de linhas que o head exibirá ex.: head /var/log/messages Listar as primeiros 30 linhas do arquivo /var/log/messages  Tail – visualiza as últimas 10 linhas de um arquivo. Prof. Tarcísio Franco Opções: -n número Configura o número de linhas a ser exibido -f Mostra as últimas linhas de um arquivo continuamente ex.: tail /var/log/messages Em um terminal fique visualizando a saída contínua de um arquivo com tail, e em outro terminal acrescente mais uma linha neste arquivo que está sendo visualizado, e verifique se o arquivo foi atualizado.
  • 5.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I  paste - concatena as linhas de diversos arquivos. Opções: -d 'x' Separa as colunas com símbolo x dentro das aspas simples -s concatena todo o contéudo de um arquivo com uma linha para cada arquivo Prof. Tarcísio Franco ex.: paste arq1 arq2 Criar um arquivo com 5 nomes de pessoa, chamado “nomes”, onde cada linha possui um nome. Criar outro arquivo com 5 nomes de provedores de email. Gere a seguinte saída nome@provedor Testar com 3 arquivos: crie arquivo com quantidade de emails, chamado “qtd”, mude para “ -d ':' ” Teste com a opção -s
  • 6.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I  Join – une as linhas de dois arquivos q possuem índice comum. Os arquivos devem estar ordenados em ordem crescente pelo índice. Opções: -o A.C,A.C, monta os registros na saída padrão de acordo Prof. Tarcísio Franco com a ordem determinada por A.C onde A é o número do arquivo e C é a posição do campo no arquivo. Os campos A.C são separados por uma vírgula. ex.: joint -t; -o 1.1,1.2,2.2 nomes provedores Usar os arquivos anteriores para fazer os testes. Usar como separador de campos o “;”
  • 7.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I  Join Crie um arquivo onde seja a junção do arquivo “nomes” com o arquivo “qtd”, chamado “nomqtd” Faça um join agora desses dois arquivos Prof. Tarcísio Franco “nomqtd” e “provedores”, onde gere na tela: nome;provedor;quantidade
  • 8.
    Split – usadopara dividir grandes UESPI – Universidade Estadual do Piauí - OPTATIVA I  arquivos em n-arquivos menores. Por padrão divide arquivo texto entre 1000 linhas. Opções: -l nº número de linhas para divisão de um arquivo texto Prof. Tarcísio Franco -b tam K|M|G define o tamanho na variável tam de acordo com Kbyte... -d nome uso de sufixo numérico, a partir no nome. nome01, nome02, Criar um arquivo com mais de 1000 linhas e fazer sua separação com tamanhos de 50 linhas. Separar um arquivo pelo tamanho. – Para juntar as partes:
  • 9.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I Redirecionamento e Condutores • Entrada padrão (stdin): entrada de um fluxo de dados. ex.: teclado, mouse, cd... Pode ser representado por 0. Alimentam o computador com informações. Prof. Tarcísio Franco • Saída padrão (stdout): saída de fluxo de dados em condições normais. Como monitor, impressora, arquivo, etc. Recebem informações do computador. Representado por 1. • Saída de Erro (stderr): é a saída de um fluxo de dados em condições de erro ou insucesso. Represnetada por 2.
  • 10.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I Redirecionamento e Condutores • Para redirecionar um resultado de uma saída para uma outra saída utilizamos o sinal de maior(>) • Para direcionarmos um a entrada para Prof. Tarcísio Franco outra entrada usamos o sinal de menor(<) • Para direcionarmos uma saída para uma entrada , usamos o pipe (|) ou condutor.
  • 11.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I Redirecionamento e Condutores ex.: mail aluno@uespi.br < email.txt o prg mail esta recebendo como argumento o end. de email e ao invés de utilizar o Prof. Tarcísio Franco teclado como entrada padrão, o arquivo email.txt é redirecionado como entrada. ./folha_pagamento > arquivo1 envia toda a saída do programa folha_pagamento para o arquivo1 ./folha_pagamento 2 > arq_erro.log
  • 12.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I Redirecionamento e Condutores ./folha_pagamento > arquivoTotal 2>&1 ./folha_pagamento > arquivoTotal 2> arquivoTotal envia toda a saída padrão e de erros para arquivoTotal ./folha_pagamento > arq_sucesso 2> arq_err Prof. Tarcísio Franco envia toda saída normal para arq_sucesso e a saída de erro para arq_err ./folha_pagamento | imprime_boletos 2> arq_err envia o resultado da folha_pagamento para para o processo imprime_boletos e a saída do imprime_boleto para o arquivo arq_err Fazer Exemplos.
  • 13.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I Redirecionamento e Condutores . ls dddf* 2> arquivo ls > arvquivo ls > arquivo 2> erro ls *.df *.txt 2> saida Prof. Tarcísio Franco ls *.df *.txt > saida 2> /dev/null ls *df *.txt > saida 2>&1
  • 14.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I Símbolos Coringa (wildcards) Símbolo Descrição * Significa “vale qualquer coisa” e pode substituir um ou mais caracteres de um nome. Ex.: “Certifi*” pode ser Certificado, Certificação, ou qualquer combinação que iniciem com “Certifi”. ? Significa que pode substituir um caractere somente de um nome. Ex.: “?ertificado” pode Prof. Tarcísio Franco substituir “Certificado”, “certificado” ou qualquer combinação de nomes de arquivos que inicie com um caracter qualquer e termine com “ertificado”. {texto1,texto2,texto3 Substitui a parte dentro das chaves pelo texto1, ...} depois pelo texto2, assim por diante. Ex.: parte {a,b,c} vai resultar em parte_a, parte_b e parte_c Liste os arquivos que tenha como final pdf, txt, jpg e png. Mostre na tela somente o resultado livre de qualquer erro.
  • 15.
    Tac – mostraum ou mais arquivos de trás UESPI – Universidade Estadual do Piauí - OPTATIVA I  para frente ex.: tac [arquivos]  Sort – uso comum para ordenar arquivos Ex: sort arquivo.txt Prof. Tarcísio Franco
  • 16.
    Crie o arquivo“alfabeto.txt” com o contéudo: UESPI – Universidade Estadual do Piauí - OPTATIVA I a:f b:e c:d d:c e:b Prof. Tarcísio Franco f:a Empregue o seguinte comando abaixo e verifique o resultado: sort alfabeto.txt sort alfabeto.txt -t: -k2
  • 17.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I  Uniq - filtrar uma sequencia de linhas de modo que possa remover as linha adjacentes com conteúdo repetido.  -c -exibe o número de ocorrências de cada linha do arquivo.  -d -exibe apenas as linhas com mais de uma ocorrência onde cada linha é mostrada apenas uma Prof. Tarcísio Franco vez.  -D -exibe todas as linhas com mais de uma ocorrência. Se uma determinada linha possui duas ocorrências, ela é exibida duas vezes.  -i -ignora a diferença entre letras maiúsculas e letras minúsculas.  -u -exibe apenas as linhas que possuem uma única ocorrência. Obs.: o arquivo tem que está ordenado.
  • 18.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I  Uniq ex.: criar arquivo com o sequinte conteúdo aaaa aaaa AAAA bbb Prof. Tarcísio Franco bbbbb cccc CCCC • Quantas ocorrências de linhas iguais temos no arquivo? • Liste somente as linhas não repetidas. • Liste somente as linhas repetidas. • Liste somente as linhas repetidas com suas ocorrêcias.
  • 19.
    UESPI – UniversidadeEstadual do Piauí - OPTATIVA I  Grep – filtra as linhas de um determinado arquivo procurando por uma expressão regular -c mostra somente a contagem das ocorrências -i ignora as ocorrências se estão Maiúscula Prof. Tarcísio Franco ou minúscula. -v efeito inverso, não mostra a linha da ocorrência -n mostra, além do texto, o nº da linha ex.: grep nome arquivo.txt grep nome /etc/*