Luciano, provavelmente em um grupo de Shellscript você vai encontrar alguma ajuda mais precisa, mas vou mostrar aqui o que pude investigar com pouco tempo.
No shell, você não consegue exatamente iterar pelas linhas de um arquivo. Mas é possível ler apenas determinadas linhas. Dessa forma, você vai poder usar uma variável como controle para saber em que linha você está. Fiz um script rudimentar e coloquei no pastebin: http://pastebin.com/dRDHkk90 (ele apenas tenta fazer o que você descreveu, mas não incluí nenhum teste para saber se os parâmetros fornecidos são válidos). Em 14 de janeiro de 2013 13:25, luciano de souza <[email protected]>escreveu: > Caros, > Desejo criar um Shellscript que realize as seguintes tarefas: > 1. Lê um arquivo de texto; > 2. Separa-o em uma coleção de arquivos com número determinado de linhas; > 3. Coloca no início de cada arquivo, o nome do arquivo-pai sem a > extensão, mas seguido de um número sequencial. > > Este é o início para que consiga preparar um arquivo de texto para > conversão em audiolivro utilizando a síntese de voz do Espeak. Suponha > o seguinte comando: > > audiobook -i "Os miseráveis.txt" -s 200 > > Como resultado ele deveria produzir: > > Os miseráveis01.txt > Os miseráveis02.txt > Os miseráveis03.txt > > No início, por exemplo, de "os miseráveis03.txt", teríamos: > > Os miseráveis03 > > {continuação do texto de Os miseráveis02} > > O que basicamente preciso saber para construir este script? Ler > arquivos, linha por linha verificando se um contador é igual ao > tamanho passado como parâmetro. > > Entretanto, não sei como iterar sobre as linhas de um arquivo > utilizando Shellscript. Se fosse Pascal, seria algo mais ou menos > assim: > > var > f: text; > s: string; > I: integer; > > begin > assign(f, 'Os miseráveis.txt'); > reset(f) > i := 0; > while not eof(f) do > begin > readln(f, s); > { Fazer alguma coisa com "s"} > inc(i); > end; > close(f); > end. > > Muito provavelmente necessitarei de um bocado de tentativas até que > tenha o meu script de audiolivros pronto. O que desejo é uma > orientação sobre o que estudar afim de conseguir gerar este script. > Não estou certo se a minha pergunta é apropriada para este grupo, mas > não conheço grupos sobre shellscript. > Luciano > > -- > Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece > > Lista de discussão Ubuntu Brasil > Histórico, descadastramento e outras opções: > https://lists.ubuntu.com/mailman/listinfo/ubuntu-br > -- Humberto Fraga http://lixaonerd.wordpress.com "Sur la tuta tero estis unu lingvo kaj unu parlomaniero." - Gn 11,1 -- Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece Lista de discussão Ubuntu Brasil Histórico, descadastramento e outras opções: https://lists.ubuntu.com/mailman/listinfo/ubuntu-br

