Sed – como apagar linhas?

sed é uma ferramenta GNU para tratamento de textos. É possível fazer operações sobre arquivos textuais e saídas de outros programas. Para usar o sed é recomendável saber um pouco de expressões regulares para encontrar padrões, mas é possível usá-lo com simples strings.

Para as experiências a seguir, será usado um arquivo texto com alguns nomes de pessoas, chamada nomes.txt, que contém dois nomes por linha. As alterações feitas pelo sed não persistem no arquivo sem a opção -i, então o mesmo arquivo será usado para todos os comandos.

 Apagar linhas

Em um script para o sed a letra d significa a deleção de uma linha.

Apagar a linha número 2

Apagar da linha 1 até a linha 3 (inclusive)

Apagar da linha 3 (inclusive) até o fim do arquivo

Apagar linhas com o primeiro nome terminando em o

Padrões no sed devem ficar entre duas barras /.

Apagar da linha que começa com Lucas até a linha que termina com Amanda

Apagar a linha que termina com Beatriz e também a próxima linha

É possível realizar mais de um comando para o mesmo padrão que o sed encontrou no texto de entrada. Os comandos ficam entre chaves. O comando N seleciona a linha seguinte junto a linha do padrão encontrado para serem apagadas pelo comando d.

Referências

Resolvendo a falta da tecla ‘/’ na instalação do Arch Linux

Eu não estava conseguindo começar a instalação do Arch Linux no meu notebook, pois eu não conseguia digitar o caracter ‘/‘. Tenho um Samsung Chronos 7, e a ‘/‘ fica junto com a letra Q.

Em alguns dos fóruns que visitei, uma cara mencionou um comando que se chama showkey, que quando executado mostra o código da tecla pressionada. Com esse programinha, descobri que a tecla Q tem o código 16. A saída do comando é mais ou menos essa:

Esse número 16, que é o keycode do Q, deve ser usado para mapear a ‘/‘ em um arquivo que será  lido pelo comando loadkeys. Para isso foi necessário alterar o arquivo com o mapa do meu teclado, que é do tipo br-abnt2.

Encontrei a linha 15 dizendo "altgr   keycode  19 = registered" e assumi que devia fazer algo parecido com o keycode 16. Então antes dessa linha, inseri um nova linha e nesse trecho, o arquivo ficou mais ou menos assim:

Depois bastou compactar o arquivo novamente e usar o comando loadkeys para ter a ‘/‘ funcionando.

Agora é só continuar a instalação. 🙂

Java e Google Chrome

UPDATE: A extensão NPAPI foi removida do Chrome 35 em diante. Essa extensão era necessária para rodar o plugin Java necessário para os bancos. O tutorial abaixo não vai servir para quem usar Chome na versão 35 em diante. Use o Firefox para pagar suas contas.

Formatei meu computador recentemente. Reinstalei tudo bonitinho, mas quando fui pagar minhas contas me deparei com a falta do plugin java funcionando no Chrome.

Sinceramente, ainda não sei o jeito certo de instalar o java na minha máquina. Os passos a seguir foram os que funcionaram pra mim no Ubuntu Server 12.10.

Download do Java

Baixe o pacote tar.gz da JDK ou JRE a partir da página de downloads Oracle[1]. Eu baixei a versão 64bits e a aplicação do Itaú funcionou. Talvez algumas aplicações de outros bancos rodem somente na versão 32bits.

Descompactando o pacote

Eu gosto de deixar essas coisas no /opt.

Instalando plugin java no Chrome

Para isso basta um link simbólico. Se você instalou o Chrome através pacote deb fornecido pelo Google, talvez os caminhos de pastas no seu computador sejam iguais aos meus.

Esses passos foram o bastante para que eu pudesse usar o Internet Banking do Itaú para pagar minha contas. Talvez estes passos sejam semelhantes para outras distribuições também. Boa sorte!

Referências

[1] – http://www.oracle.com/technetwork/java/javase/downloads/index.html

Nginx e php5-fpm

Eu precisava rodar no meu servidor uma aplicação PHP, sem que isso despendesse muito esforço e tempo em configurações complicadas, mas que ao mesmo tempo fosse flexível o suficiente para compartilhar o webserver com outras aplicações que rodam em Python.

A solução foi usar o php-fpm, que para minha alegria está no repositório do Ubuntu 12.10. A ideia é instalar o pacote php5-fpm e configurar a diretiva fastcgi_pass no Nginx. Eu fiz o seguinte para começar com uma configuração básica:

Pode ser que ao invés de um arquivo sock, o php5-fpm esta rodando em uma porta TCP, pois depende de como ele vem pré-configurado. Neste caso a configuração da diretiva fastcgi_pass pode ser um pouco diferente, como a seguinte:

Para descobrir isso você pode consultar o arquivo de configuração do php-fpm em /etc/php5/fpm/pool.d/www.conf, procurando pela linha que começa com listen.

Depois desses passos consegui uma página imprimindo ‘oi mundo’ em http://teste.montefuscolo.com.br/.

Referências

Login gráfico automático sem Desktop Manager

Para conseguir um login automático e executar também automaticamente o gerenciador de janelas favorito, não é necessário usar um Desktop Manager. Basta personalizar alguns scripts do sistema.

Eu comecei meu ambiente com o Ubuntu Server 12.10 e o gerenciador de janelas Awesome. Provavelmente os passos a seguir devem ser semelhantes para outras distribuições e o Awesome pode ser trocado por outro gerenciador de janelas.

1. Instalação do awesome e do pacote que provê o startx

2. Configurar o gerenciador de login para logar automaticamente no tty6

Onde estiver:

Trocar por:

3. Editar o arquivo .profile para automatizar o início do comando startx

4. Editar o arquivo .xinitrc para informar que o Awesome deve ser executado pelo startx

Referências