Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Este script separa um arquivo de texto em "páginas" contando as linhas do arquivo.
- # É um script rudimentar, apenas para estudo de caso.
- # Recebe dois parâmetros: o nome do arquivo de texto e o número de linhas por página.
- arq=$1
- page_size=$2
- # Conta o número de arquivos gerados pelo script
- count_arq=0
- # Conta o número de linhas do arquivo original
- max_lines=`wc -l $arq | cut -f1 -d' '`
- # Abaixo há um loop for que conta de 1 até o número total de linhas,
- # o incremento deste loop é o número de linhas por página fornecido
- # como parâmetro
- for (( i = 1 ; i <= $max_lines ; i = i + $page_size ))
- do
- # Cada página começa do valor atual de i
- start=$i
- # O fim da página é a linha anterior da próxima página
- # Início desta página mais tamanho da página menos 1
- end=`expr $i + $page_size - 1`
- # Incrementamos o número de arquivos gerados
- count_arq=`expr $count_arq + 1`
- # Aqui dois comandos echo só para debug
- echo "PÁGINA $start - $end"
- echo "ARQUIVO $arq-$cound_arq"
- # Usando o comando sed para selecionar que linhas serão impressas
- sed "$start,$end!d" $arq > $arq-$count_arq
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement