sexta-feira, 25 de novembro de 2011

Como Juntar Arquivos de Texto (Windows)

A dica de hoje serve para quem trabalha com arquivos de texto usados como forma de transportar bases de dados, como arquivos .txt e .csv e constantemente está carregando eles em bancos de dados ou aplicativos.

Vou dar a dica mostrando um exemplo, que pode ser familiar a você que está lendo esse blog.

Suponhamos que você receba 5.565 arquivos, um para cada município brasileiro e precise importar para dentro de um banco de dados, como o Access. Importar um por um é trabalhoso e demorado, e tem várias formas de evitar o trabalho manual, como criação de macros, mas minha dica é mais simples e funciona para qualquer importação, em qualquer aplicativo.

Como Fazer

Vá em iniciar > Todos os Programas > Acessórios > Prompt de Comando.
 Com o comando CD mude para a pasta onde estão os arquivos de texto. No Exemplo da tela acima, são 5.565 arquivos .csv - um para cada município.

Nesta pasta, digite

copy *.csv  nomequalquer.csv

O comando copy junta todos os arquivos, um de cada vez no arquivo nomequalquer.csv. Claro, rs, você pode escolher um nome qualquer para o arquivo que será o resultado dessa união. :-)

No final, vão ficar nessa pasta todos os arquivos originais e o maior de todos que é o resultado da união deles. Para achá-lo mais fácil, organize a pasta no Windows Explorer por tamanho. Fácil assim!

Update: é possível fazer isso também no terminal do Linux, usando o comando cat.

cat *.csv  nomequalquer.csv

quinta-feira, 24 de novembro de 2011

Aumentando a duração da bateria no seu laptop (Linux)

Essa dica é para quem usa Linux no seu laptop, e seu kernel é o 2.6.38 ou um outro mais recente. Na mudança do kernel 2.6.37 para o 2.6.38, houve uma mudança no módulo que controla o ASPM - Active-State Power Management for PCI Express, uma tecnologia de gerenciamento ativo do consumo de energia pelo sistema operacional. A mudança foi que o kernel passou a verificar se BIOS da placa-mãe dava suporte ao ASPM, e em alguns casos, mesmo a placa-mãe dando suporte, o kernel erroneamente identificava como se não desse.

Isso ocorre porque os fabricantes de hardware em sua maioria, projetam seus sistemas para computadores que vão usar Windows, em arquiteturas fechadas. Há exceções, como a NVIDIA, que desenvolve seus drivers de placa de vídeo para Windows e para Linux ao mesmo tempo, mas geralmente, os drivers para Linux tem que ser feitos por engenharia reversa, num trabalho feito por uma comunidade de desenvolvedores que trabalham nas suas horas de lazer, apenas para contribuir para o Mundo Open Source.

Esse problema em relação ao ASPM tem causado um aumento no consumo de bateria de 10 a 30%, e afeta inclusive o kernel 3.0. Este problema não afeta quem usa Windows no seu laptop porque simplesmente não tem as linhas de código nesse sistema operacional, que simplesmente ignora se tem suporte ou não ao ASPM.

Nesta dica, vou mostrar como forçar a ativação do ASPM durante o boot do sistema operacional.

Para você saber como seu sistema operacional está agindo em relação  à tecnologia ASPM, abra um terminal e digite:

cat /sys/module/pcie_aspm/parameters/policy

O resultado desse comando será algo assim:

[default] performance powersave

Isto significa que o perfil default do ASPM (Active State Power Management) está ativo. O default a gente não quer, porque é ele que come bateria do seu laptop mais que devia. 

Para alterá-lo, você vai alterar o bootloader GRUB, para que ao carregar o kernel, seja forçado o uso do perfil de ASPM mais eficiente. Entretanto, em algumas configurações de máquina (placa-mãe, BIOS) pode ser que o uso do ASPM cause travamentos. Assim, antes de fazer uma mudança definitiva no seu kernel, digite alguns comandos para testar o ASPM:



sudo -i
echo powersave > /sys/module/pcie_aspm/parameters/policy
exit
 
 comando sudo -i funciona no Ubuntu e seus derivados, como Linux Mint, e
apenas muda o usuário no terminal para o superusuário.

No Fedora e no OpenSUSE, o comando su - funciona do mesmo jeito.

Se você ativou o ASPM e deu tudo certo, pode alterar o GRUB agora.

Usando o Gedit (para quem usa o Desktop Gnome):
gksudo gedit /etc/default/grub
 
Usuários de KDE podem usar o comando "gksudo kwrite /etc/default/grub" e qualquer
que seja o seu Desktop, você pode usar o editor Nano, digitando:
 
nano -w /etc/default/grub
 
Vá até a linha onde está escrito:
 
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
 
E adicione umas palavras, para ficar assim:
 
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force"
 
Salve o arquivo (no nano digite Ctrl-O, confirme com enter e saia com Ctrl-X).
Digite um comando para atualizar o GRUB:
 
update-grub
Feito isso, o arquivo grub.cfg será atualizado e o terminal vai te informar isso. 

Digite exit para sair do terminal e reinicie seu laptop. Pronto! As alterações que você fez no

 carregamento do kernel foram passadas para as configurações do GRUB.

 Agora seu laptop vai ganhar alguns % de duração da bateria.

domingo, 20 de novembro de 2011

Como baixar arquivos de baciada pelo terminal

Bom, primeiro post, penso que seria educado apresentar a proposta do blog antes de ir saindo postando conteúdo.

A intenção aqui é dar pequenas dicas de como fazer coisas legais no computador usando principalmente algumas das mais populares distribuições de Linux, trazer minhas impressões do meu constante distrohopping, e dar notícias e pequenos comentários do mundo da tecnologia.

Para o primeiro post vou dar uma dica de como baixar vários arquivos de uma vez, sem interferência do usuário, pelo terminal.

A primeira parte da dica é como encontrar os arquivos que você está procurando e vale para qualquer sistema operacional.

Truques do Google
Quem está acostumado a baixar mp3 nos MegaUpload e 4Shared da vida vai pirar com essa dica. A primeira parte da dica é como encontrar os arquivos que você está procurando e vale para qualquer sistema operacional.
Ao invés de colocar o nome do artista ou da música que você está procurando na barra de buscas do Google, digite isso:


-inurl:htm -inurl:html intitle:"index of" nome mp3


Substitua  o nome por aquilo que você está procurando. Por exemplo Nirvana ou Morcheeba ou Fortunate Son. Se você coloca mais de uma palavra sem aspas, ele procura qualquer combinação daquelas palavras. Se você coloca mais de uma palavra entre aspas, ele procura exatamente o que você digitou. Assim, se você digitar  "O Segundo Sol" vai encontrar versões dessa música ou com a Cássia Eller ou com o Nando Reis. Se digitar sem aspas, os resultados vão trazer músicas com sol ou com segundo no nome do arquivo. Experimente copiar  o código acima, com o tracinho inclusive, e colar na barra do google.

Além de músicas em mp3, você pode procurar por arquivos de video, trocando o mp3 da expressão por avi, mpeg, rmvb ou flv, ou livros em PDF para baixar.


Para procurar livros, digite na barra do Google:

-inurl:htm -inurl:html intitle:"index of" +("/ebooks"|"/book") <nome do autor ou do livro>+(chm|pdf|zip)

-inurl:htm -inurl:html intitle:"index of" "Last modified" 
<nome do autor ou do livro> +(cbr|pdf|zip)


Além de músicas em mp3, você pode procurar por arquivos de video, trocando o mp3 da expressão por avi, mpeg, rmvb ou flv, ou livros em PDF para baixar.

Depois de achar o link com o arquivo que você quer é só clicar em cima do link com o botão direito do mouse e escolher "salvar link como..." (Firefox, Internet Explorer, Safari, etc). No Chrome, basta apenas clicar no link, ele já baixa para sua pasta Downloads.

Agora só pra quem usa Linux

Uma maneira de baixar vários arquivos de uma vez, sem ter que ficar clicando em um link quando termina o download do outro é copiar os links para um arquivo de texto. Abra o seu editor de texto, daqueles bem simples como o Gedit (para quem usa o Gnome como desktop), Kate ou Kwrite (para quem usa KDE), ou leaflet (para quem usa XFCE)  e copie e cole todos os links dos arquivos que você quer baixar. Salve esse arquivo na pasta onde vc quer que os arquivos fiquem com um nome auto-explicativo, como baciada01.txt. No exemplo abaixo, salvamos o arquivo na pasta /home/bruno/Downloads.

Abra um terminal, pode ser como usuário comum mesmo e digite:

cd /home/bruno/Downloads
wget -i baciada01.txt

Ajuste o comando cd para trocar para o diretório que você escolheu para salvar os arquivos. O wget tem um gerenciador de downloads, então se por algum motivo a conexão cair, ele reinicia de onde parou. Depis de dar o enter no comando wget, pode deixar o computador e ir fazer outras coisas, como tomar banho ou ir ao supermercado, que seus downloads estarão sendo feitos numa boa.