[FUG-BR] [OFF TOPIC] Shell Script
Carlos Eduardo G. Carvalho (Cartola)
cartoleba em gmail.com
Quinta Janeiro 6 12:23:13 BRST 2011
O arquivo só tem uma linha mesmo? Tem mil maneiras de fazer. Podia usar awk
também. Segue um exemplo para um arquivo de 1 linha.
#!/bin/sh
# Coloca a linha na variavel LINHA sem os 3 ultimos caracteres. Se a linha
nao for certinha
# tem que mudar a expressao usada
LINHA=`cat $1 | sed 's/...$//'`
# coloque o valor inicial do numero
NUM=0
# saida com o numero incrementando
while $NUM -le 999; do
NUM=`echo $NUM | awk '{printf "%03s", $1}'`
echo "$LINHA$NUM"
NUM=`expr $NUM + 1`
done
#----------------------------------------------- FIM
O script tá jogando pra saída padrão. Roda ele chamando o arquivo com a
linha e redirecionando a saída pro arquivo que quiser criar:
$ script.sh arquivo_entrada.txt > saida.txt
Não esquecendo de torná-lo executável antes ou de chamá-lo com o "sh".
Nota: não testei
Abs, Cartola.
Em 6 de janeiro de 2011 12:04, Paulo Henrique BSD Brasil <
paulo.rddck em bsd.com.br> escreveu:
> O que precisa é do comando set , foreach e incremento(++) ambos são
> discriminados na man do csh, um material simples na internet sobre C
> shell já é o suficiente para resolver o seu problema.
>
> At...
>
> Em 6/1/2011 11:43, CDMB . escreveu:
> > Bom dia pessoal.
> > Gostaria que alguém me ajudasse a concluir um script que estou tentando
> > criar aqui.
> > Eu tenho um arquivo com uma linha terminada com um número tipo:
> > "Lorem ipsum dolor sit amet, consectetur adipiscing elit001".
> > O que eu queria era repetir a linha e alterar os últimos 3 dígitos.
> >
> > Lorem ipsum dolor sit amet, consectetur adipiscing elit002
> > Lorem ipsum dolor sit amet, consectetur adipiscing elit003
> > ...
> > ...
> > Lorem ipsum dolor sit amet, consectetur adipiscing elit999
> >
> > Desde já agradeço.
> >
> > -------------------------
> > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
Mais detalhes sobre a lista de discussão freebsd