http://www.zago.eti.br/script/seq.txt Use CTRL+F para refinar a pesquisa. Linha de: **************** separa mensagens ou tópicos. ******************************************************** Zago http://www.zago.eti.br/menu.html FAQ e artigos sobre Linux ******************************************************** De:  Dicas-L-Owner@unicamp.br Assunto:  [Dicas-L] O comando seq Data:  Thu, 24 Jul 2003 02:28:55 -0300 -------------------------------------------------------------------- Endereço: http://www.Dicas-l.com.br/dicas-l/20030724.shtml --------------------------------------------------------------------                     Programação Shell            Instrutor: Aurélio Marinho Jargas               4 a 8 de Agosto, São Paulo      http://www.4linux.com.br/2treinamento_Shell.htm ----------------------------------------------------------------------   O comando seq   ============= O comando seq realiza uma tarefa bastante útil. Veja um exemplo:   $ seq 1 10   1   2   3   4   5 Neste caso, o comando seq simplesmente imprimiu uma seqüência de números de 1 a 5. Podemos também fazer assim:   $ seq 0 2 10   0   2   4   6   8   10 Neste caso, a seqüência de números foi impressa com um incremento de dois a cada interação. Em outras palavras, o comando seq foi instruído a imprimir os números de 0 a 10, somando 2 a cada interação. Agora, um exemplo mais prático:   for n in `seq 0 5 1000`    do       sed -n ${n}p testfile    done Este pequeno laço irá fazer a impressão, por meio do comando sed, de cada quinta linha do arquivo chamado testfile. Ou ainda, eu posso criar um arquivo obedecendo a algumas normas:   for n in `seq 1 100`    do      echo "Linha $n" >> testfile    done Teremos então o arquivo testfile, com o seguinte conteúdo:   Linha 1   Linha 2   Linha 3   Linha 4   Linha 5   Linha 6   Linha 7   Linha 8   Linha 9   Linha 10    .... E por aí vai. Quem quiser me enviar exemplos criativos de uso do comando seq, basta responder a este email com a dica. O comando seq me foi apresentado pelo Júlio Cesar Neves, em seu excelente minicurso de Programação Shell, ministrado no I Seminário de Desenvolvimento em Software Livre, realizado na Unisinos, em São Leopoldo, RS, na semana de 14 a 18 de Julho. -------------------------------------------------------------------- Flash 5 - Guia de Consulta Rápida http://novateceditora.com.br/guias/flash5/ -------------------------------------------------------------------- As mensagens da lista Dicas-L são veiculadas diariamente para 22013 assinantes.        Todas as mensagens da Dicas-L ficam armazenadas em                http://www.Dicas-l.com.br. A redistribuição desta e outras mensagens da lista Dicas-L pode ser feita livremente, deste que o conteúdo, inclusive esta nota, não sejam modificados. --------------------------------------------------------------- ******************************************************** De:  Dicas-L-Owner@unicamp.br Assunto:  [Dicas-L] O comando **seq** (2) Data:  Mon, 4 Aug 2003 04:16:26 -0300 -------------------------------------------------------------------- Endereço: http://www.Dicas-l.com.br/dicas-l/20030804.shtml --------------------------------------------------------------------                     Programação Shell            Instrutor: Aurélio Marinho Jargas               4 a 8 de Agosto, São Paulo      http://www.4linux.com.br/2treinamento_Shell.htm ----------------------------------------------------------------------   O comando **seq** (2)   ===================== Colaboração: Sergio Salgueiro O comando seq pode ser usado para processar um grande lote de arquivos de log, por exemplo. Muitas vezes, os arquivos tem o formato W3030621.log, que é composto por ano-mes-dia, e assim o comando seq pode gerar a sequencia de dias para o processamento. Utiliza-se então o comando seq com a opção "-w", que gera sempre a sequencia com o mesmo numero de caracteres, sempre colocando um zero no inicio:   seq -w 1 10   01   02   03   04   05   ...   09   10 Depois, basta concatenar o inicio do nome do arquivo com a sua sequencia. -------------------------------------------------------------------- Emoticons - Guia de Consulta Rápida http://novateceditora.com.br/guias/emoticons/ -------------------------------------------------------------------- As mensagens da lista Dicas-L são veiculadas diariamente para 22148 assinantes.        Todas as mensagens da Dicas-L ficam armazenadas em                http://www.Dicas-l.com.br. A redistribuição desta e outras mensagens da lista Dicas-L pode ser feita livremente, deste que o conteúdo, inclusive esta nota, não sejam modificados. --------------------------------------------------------------- ******************************************************** De:  Dicas-L-Owner@unicamp.br Assunto:  [Dicas-L] O comando **seqq** (3) Data:  Wed, 6 Aug 2003 03:24:28 -0300 -------------------------------------------------------------------- Endereço: http://www.Dicas-l.com.br/dicas-l/20030806.shtml --------------------------------------------------------------------                      Treinamento Linux em Campinas               Administração de Sistemas - 14 e 15 de agosto               Administração de Redes    - 21 e 22 de agosto      http://www.dextra.com.br/servicos/treinamento/linux/linux.htm ----------------------------------------------------------------------   O comando **seqq** (3)   ====================== Colaboração: Fernando M. Roxo da Motta Mais um exemplo de uso do comando seq:   $ wc -l arqtxt       712 arqtxt   $ seq 1 712 | paste - arqtxt > arqtxt.num O que isto faz ? O primeiro comando (wc -l arqtxt)  conta o número de linhas do arquivo arqtxt, no caso são 712 linhas.  O segundo comando gera uma versão do arquivo arqtxt com cada linha numerada de 1 a 712. O comando paste é parte da suíte padrão de comandos para acesso a "bancos de dados de texto puro" (plain text database) do *nix, logo também está presente no Linux.  Nesta suíte podemos citar os comandos :         cut, paste, grep         ================ - cut  :  seleciona colunas da "tabela" - paste:  junta colunas para formar uma nova base ou uma "view" - grep :  ferramenta para "select" Acho que valeria uma "dica" sobre o uso  destes (e outros) comandos para acesso a "bancos de dados de texto puro", que podem ser muito úteis. Apenas como um exemplo deste tipo de base de dados, os arquivos de autenticação (/etc/{passwd,group,shadow}) são bancos de dados deste tipo com as colunas separadas por ":". --------------------------------------------------------------------                       Tutoriais WindowMaker http://www.linuxdicas.com.br/modules.php?name=News&file=article&sid=531 ------------------------------------------------------------------------------- As mensagens da lista Dicas-L são veiculadas diariamente para 22173 assinantes.        Todas as mensagens da Dicas-L ficam armazenadas em                http://www.Dicas-l.com.br. A redistribuição desta e outras mensagens da lista Dicas-L pode ser feita livremente, deste que o conteúdo, inclusive esta nota, não sejam modificados. --------------------------------------------------------------- ******************************************************** ******************************************************** ******************************************************** ******************************************************** ******************************************************** ********************************************************