Montar array com base em um arquivo texto [RESOLVIDO]

13. Re: Montar array com base em um arquivo texto [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 02/10/2011 - 15:22h

Fiz assim:


#!/bin/bash
while read LINHA
do
echo -n "$LINHA " >> novo_arquivo.txt
done < arquivo.txt



cat novo_arquivo.txt
@_julins @Shikinhaw_ @Roger_Beni @Bodescrazy @Ariel_cg @thuwris @pitbullpy @dodibips @SallyWentz @_RingDingDong @stephany_ck @troiaoficial @andy_meadora @UmaCoisaECerta



Era isso?



  


14. Re: Montar array com base em um arquivo texto [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 02/10/2011 - 16:14h

rai3mb escreveu:

Fiz assim:


#!/bin/bash
while read LINHA
do
echo -n "$LINHA " >> novo_arquivo.txt
done < arquivo.txt



cat novo_arquivo.txt
@_julins @Shikinhaw_ @Roger_Beni @Bodescrazy @Ariel_cg @thuwris @pitbullpy @dodibips @SallyWentz @_RingDingDong @stephany_ck @troiaoficial @andy_meadora @UmaCoisaECerta



Era isso?


Sim deveria rsrs. Deixar o echo sem quebra de linha.
Ele não gera o arquivo. :( Tem alguma coisa na minha máquina.


#!/bin/bash -x

while read LINHA
do
echo -n "$LINHA " >> tt.txt
done < meuarq.txt
exit


Com debug ativa mostra:



+ read LINHA
+ exit



Conteúdo do arquivo meuarq.txt é muito grande, 40.000 linhas. Será que este pode ser o motivo ?

Salvei um pequeno.



@001997JR
@02Biia
@0800vtnc
@081online
@0fael
@100Delicia_
@10h20
@10neto
@1337reis
@14Isinha
@15Thamy_
@16zombie
@18NOVEstefani
@1CaRioquinha
@1_damiani
@1feia_
@1GarotoTop
@1horcruxe
@1_Jigglypuff
@1LitroDeTodinho




15. Re: Montar array com base em um arquivo texto [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 02/10/2011 - 16:19h

Galera, é o tamanho do arquivo o problema ;(




+ read LINHA
+ echo -n '@15Thamy_ '
+ read LINHA
+ echo -n '@16zombie '
+ read LINHA
+ echo -n '@18NOVEstefani '
+ read LINHA
+ echo -n '@1CaRioquinha '
+ read LINHA
+ echo -n '@1_damiani '
+ read LINHA
+ echo -n '@1feia_ '
+ read LINHA
+ echo -n '@1GarotoTop '
+ read LINHA
+ echo -n '@1horcruxe '
+ read LINHA
+ echo -n '@1_Jigglypuff '
+ read LINHA
+ echo -n '@1LitroDeTodinho '
+ read LINHA
+ exit



E agora prof Raimundo ?
Não posso ler o arquivo completo para montar o array e enviar ao arquivo. Vou precisar ler em partes. Complicou.



16. Re: Montar array com base em um arquivo texto [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 02/10/2011 - 17:06h

Vou simular aqui, mas se esse for o problema vamos para a POG ;-)


17. Re: Montar array com base em um arquivo texto [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 02/10/2011 - 17:07h

Se bem que o shell todo já parece uma POG ;-)

Costumo dizer que é o estilo de programação em LEGO, onde vamos conhecendo partes que fazem um pequeno serviço e juntamos para conseguir o nosso objetivo (o todo).




18. Re: Montar array com base em um arquivo texto [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 02/10/2011 - 17:07h

rai3mb escreveu:

Vou simular aqui, mas se esse for o problema vamos para a POG ;-)


kkkk. Já estou engatilhado para uma POG rsrs.




19. Re: Montar array com base em um arquivo texto [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 02/10/2011 - 17:20h

companheiro, fiz um arquivo com 42.000 linhas para testar e funcionou com o método anterior.

O ruim é ver todas os 42.000 registros em uma linha só ;-)

Não perguntei, mas porque essa necessidade do resultado ficar em uma linha só.

Obs.: "Muitas vezes a solução está em entender o real problema"

Abraços


20. Re: Montar array com base em um arquivo texto [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 02/10/2011 - 18:11h

rai3mb escreveu:

Obs.: "Muitas vezes a solução está em entender o real problema"

Abraços


Concordo. O problema inteiro vou passar abaixo.

Não precisa ser na mesma linha realmente. É que eu estou fazendo em etapas separadas.
O ideal segue abaixo.

Tenho vários textos, exemplo:

Arquivo texto que contém mensagens prontas. msgs_vol.txt


"Você conhece a comunidade #VIVAoLINUX ? "
"Novo artigo publicado no #VOL "
"#Resolvido: Como montar array usando arq. texto "
"Você conhece @vivaolinux_ ? "


Arquivo extraído de perfis do twitter após filtro para deixar apenas os nicks. meuarq.txt





@001997JR
@02Biia
@0800vtnc
@081online
@0fael
@100Delicia_
@10h20
@10neto
@1337reis
@14Isinha
@15Thamy_
@16zombie
@18NOVEstefani
@1CaRioquinha
@1_damiani
@1feia_
@1GarotoTop
@1horcruxe
@1_Jigglypuff
@1LitroDeTodinho





O arquivo msgs_vol.txt tem textos diferentes. No twitter só pode ser enviado até 140 caracteres.
O ideal seria pegar um texto do arquivo de mensagens e incluir vários nicks nesta linha até chegar 135 caracteres. É bom deixar um espaço e não usar os 140 caracteres.

Então, com base no arquivo msgs_vol.txt, vou pegando nicks do meuarq.txt e montando as linhas. Gero uma saída para um terceiro arquivo que irá conter as mensagens mais os nicks.

Este é o processo inteiro. :)

Pensei em deixar todos os nicks em uma única linha porque seria mais fácil pegar as posições e calcular os tamanhos.
Se conseguir calcular em tempo real a mensagem mais cada nick sendo adicionado na linha, não preciso mesmo ter um arquivo com nicks na mesma linha.
Já o arquivo final, este sim precisa ter a mensagem mais os nicks na mesma linha e não podem ultrapassar a 140 caracteres. ;)

Bom é este o problema completo.

exemplo:


Você conhece a comunidade #VIVAoLINUX ? @081online @0fael @100Delicia_ @10h20 @10neto



oops: Este é um desafio pessoal e que acho servirá para fazer divulgação dos meus scripts Shell e de quebra, do #VIVAoLINUX



21. Re: Montar array com base em um arquivo texto [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 02/10/2011 - 19:01h

Companheiro estou compilando esse ultimo script e fazendo um completo para fazer todo o fluxo, vou enviar para a categoria de Scripts do Vol.

Estou dizendo que a culpa foi sua ;-)

Concordas?


22. Re: Montar array com base em um arquivo texto [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 02/10/2011 - 19:23h

Posso publicar?


#!/bin/bash
# tuiteroPreguicoso v1.0
# Desenvolvido por: Raimundo Portela - rai3mb@gmail.com
# Esse script foi desenvolvido ao ajudar o AprendiNoLinux
# no tópico : http://www.vivaolinux.com.br/topico/Shell-Script/Montar-array-com-base-em-um-arquivo-texto
#
# Serve para enviar diversos mensagens para diversos usuários no twitter.
# Crie um arquivo frases.txt e outro nicks.txt no mesmo diretório desse script
# no arquivo frases.txt escreva uma frase por linha
# no arquivo nicks.txt escreva um nick de usuário do twitter por linha
# Depois basta chamar o script usando a sintaxe:
# tuiteroPreguicoso.sh usuario senha
...



23. Re: Montar array com base em um arquivo texto [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 02/10/2011 - 21:27h

rai3mb escreveu:

Companheiro estou compilando esse ultimo script e fazendo um completo para fazer todo o fluxo, vou enviar para a categoria de Scripts do Vol.

Estou dizendo que a culpa foi sua ;-)

Concordas?


Claro que concordo rsrs ;)

Minha forma de dizer o que penso sobre o assunto ;)



Que o espírito de equipe esteja sempre em você @rai3mb e claro, em todos que fazem do VOL, a melhor comunidade de software livre no Brasil.



Amigo mesmo não é aquele que te levanta na hora que estais caído. Amigo é aquele que não te deixa cair. Se precisar, rsrs, em último caso, chega de voadora dando porrada, ou resolvendo a pendenga





24. Re: Montar array com base em um arquivo texto [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 02/10/2011 - 21:39h

Arigatou Gozaimasu (obrigado formal, aprende-se no naturo)

Mais deu certo para você?



01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts