Pular para o conteúdo principal

Dica rápida: perl - encontrar e adicionar texto inline

Muitas vezes queremos adicionar a uma determinada linha de um arquivo algum texto. Mas isso é simples alguém diria, basta abrir um editor de texto, localizar e acrescentar o texto desejado. Em certas situações é a melhor escolha mesmo, entretanto muitas vezes encontramos situações nas quais esse procedimento torna-se inviável. Então, para estes casos, uso o perl.
Suponha que tenhamos o seguinte texto em um arquivo chamado arq.txt:

abcde bla kjlkjlk klkjlkj teste
fghijkl bla kjlkjlk klkjlkj teste


e queiramos inserir ao final da primeira linha a palavra MAIS, então usaríamos o perl da seguinte forma:

$ perl -i.bkp -pe 's/^abcde.*teste/$&\ MAIS/' arq.txt

Portanto, teríamos com apenas um comando realizado o trabalho e ainda feito um cópia do arquivo original que se chamaria arq.txt.bkp.

É necessário notar que se outras linhas no arquivo começassem com abcde e terminassem com teste, o comando também mexeria nelas.

Postagens mais visitadas deste blog

Como trocar a data de expiração das chaves GPG

Baseado na dica disponível em: https://liquidat.wordpress.com/2013/05/07/howto-changing-the-expiry-date-of-gpg-keys/ 1. Primeiramente, você precisa saber o ID da chave, neste exemplo ABCDEF12 : $ gpg -list-keys liquidat@example.com pub.   2048R/ABCDEF12 2012-09-10 [expires: 2032-09-10] id                     liquidat sub     2048R/BCDEF123 2012-09-10 [expires: 2032-09-10] Com o ID em mãos pode-se editar a chave:  $ gpg --edit-key ABCDEF12 ... A chave pública está disponível. ... pub.  2048R/ABCDEF12 ... sub   2048R/BCDEF123 ... ... gpg> 2. Agora vamos efetivamente mudar a data de expiração: gpg> expire Changing exporation time for the primary key. Please specify how long the Key should be valid.        0 = key does not expires     = key expires in n days     W = key ...

Resolvendo problema UnsignedAccessViolationException com applets JAVA

Após atualizar a versão do Java para 6u33 ou 7u5 algumas aplicações JAVA Web Start (JWS) passaram a apresentar falha com a seguinte mensagem de erro: "Erro: aplicativo não assinado solicitando acesso ilimitado ao sistema" (UnsignedAccessViolationException). Achei a solução aqui que basicamente consiste em limpar o cache JAVA: 1. Feche a aplicação ou applet Java 2. Abra o Painel de Controle Java ( $JAVA_PATH/bin/ControlPanel ) 3. Clique em Configurações... na seção Arquivos temporários de Internet 4. Clique em Excluir arquivos... Nota: Isto exclui todas as aplicações e applets baixados para o cache . 5. Clique em OK na janela Arquivos temporários excluídos 6. Reinicie sua aplicação ou applet

Como instalar extensões no Gnome Shell manualmente

As extensões do Gnome Shell são instaladas em /usr/share/gnome-shell/extensions ou em ~/.local/share/gnome-shell/extensions, sendo o primeiro global e o segundo válido apenas para o próprio usuário. Para instalar uma extensão de forma manual, obtenha o pacote ZIP correspondente a extensão desejada em https://extensions.gnome.org . Em cada página de extensão do extentions.gnome.org há um link que aponta para a Home Page do projeto. Seguindo um desses links , procure o pacote ZIP para download . Após o download do ZIP, abra-o com o Gerenciador de Pacotes conforme: Clique no botão Extrair , use a combinação de teclas Control+H para exibir arquivos ocultos e navegue até o diretório ~/.local/share/gnome-shell/extensions , quando estiver no diretório clique no botão Criar pasta e digite o nome do novo diretório (obs.: use o nome da extensão). Depois de criada a pasta, selecione-a e clique em Extrair . Por garantia efetue logout e abra uma nova sessão do Gnome She...