Tag Archives: linux

find + sed

Acostumado a utilizar o terminal (shell), eu sempre estou precisando fazer substituições de palavras que estão dentro de algum arquivo, a função find é um “Canivete Suiço” e permite a combinação de outras funções e parâmetros para fazer isso de uma forma muito simples. Veja a seguir;

Vamos considerar que você necessite trocar todas as palavras “BRANCO” por “PRETO” dentro de todos arquivos do diretório.

Eis a solução;

find . -type f -exec sed -i "s/BRANCO/PRETO/g" {} \;

O trecho “find . -type f” faz o trabalho de buscar apenas arquivos cujo o tipo seja igual a “f” (file), o segundo trecho “-exec sed -i “s/BRANCO/PRETO/g” {} \;” faz a substituição utilizando a função “sed” que escreve no arquivo que encontrar a palavra procurada.

Vamos supor que você queira apenas encontrar arquivos com a palavra BRANCO;

grep -r "BRANCO" .

Utilizei a função grep com a opção -r (recursivo), pois o find neste caso não é necessário.

Isso não era pra ser um artigo (e não ehh..rs)

é apenas uma dica e também pra eu mesmo consultar, caso eu esqueça…rs

abraço!

Automate running dhclient in Ubuntu

Well, this is basically a reminder to the future when you need to reconfigure my network. haha!

Since I’m using a DHCP service on a router “D-Link”, I needed to automate my settings on my network interface to avoid always run the command “dhclient”.

/etc/nework/interfaces

auto eth0
iface eth0 inet dhcp

So save the file “interfaces”, run “ifdown eth0″ to stop the service and “ifup eth0″ to starter again.

- Now run the command “ifdown eth0″ for stop service

root@btlagutoli-desktop:/home/btlagutoli# ifdown eth0
There is already a pid file /var/run/dhclient.eth0.pid with pid 1125
killed old client process, removed PID file
Internet Systems Consortium DHCP Client V3.1.3
Copyright 2004-2009 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/00:xx:aa:dd:dd:dff
Sending on   LPF/eth0/00:xx:aa:dd:dd:dff
Sending on   Socket/fallback
DHCPRELEASE on eth0 to 192.168.0.1 port 67
suspect value in server_name option - discarded



- Finally, run “ifup eth0″ for start the service again

root@btlagutoli-desktop:/home/btlagutoli# ifdown eth0
There is already a pid file /var/run/dhclient.eth0.pid with pid 1125
killed old client process, removed PID file
Internet Systems Consortium DHCP Client V3.1.3
Copyright 2004-2009 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/00:xx:aa:dd:dd:dff
Sending on   LPF/eth0/00:xx:aa:dd:dd:dff
Sending on   Socket/fallback
DHCPRELEASE on eth0 to 192.168.0.1 port 67
suspect value in server_name option - discarded

That’s it!

Sincronização por FTP (mirrors)

Resolvi fazer este artigo, porque tive que atender uma demanda, que precisava deixar dois ambientes espelhados, ou seja, idênticos (mirrors) e que utilizasse protocolo FTP para se comunicar.

Depois de pesquisar algumas opções, cheguei no lftp que faz o trabalho muito bem, inclusive bem parecido ao Rsync, veja;

./sincronizacao.sh

#!/bin/bash
HOST="ftp.meuserver.com.br" #seu endereço ou ip do FTP
USER="seu_usuário" #seu usuário
PASS="sua_senha" #sua senha
LCD="/home/sua_home/teste/" #diretório local
RCD="teste/" #diretório remoto (FTP), o script procura na raiz do ftp

lftp -c "set ftp:list-options -a;
open ftp://$USER:$PASS@$HOST;
lcd $LCD;
cd $RCD;
mirror --reverse \
       --verbose \
       --delete \
       --exclude-glob a-dir-to-exclude/ \
       --exclude-glob a-file-to-exclude \
       --exclude-glob a-file-group-to-exclude* \
       --exclude-glob other-files-to-esclude"

Obs: O único parâmetro que vou deixar uma observação “–delete” que faz a comparação dos dois ambiente e se existir algum arquivo no servidor remoto (FTP) e não existir localmente ele apaga o arquivo do servidor remoto, então tome cuidado!!

Qualquer dúvida, faça sua pergunta!

Até a próxima!

Alterar editor default no Linux

Bom, isso não é um artigo e sim uma pequena dica para as pessoas que odeiam editar arquivos utilizando o nano (/bin/nano).

No Ubuntu o Nano  é o editor default e para alterar isso, digite;

sudo update-alternatives --config editor

Executando o comando você terá as seguintes opções;

btlagutoli@agutoli:/var/www/gazetaesportiva$ sudo update-alternatives --config editor
Existem 4 escolhas para a alternativa editor (fornecendo /usr/bin/editor).

  Seleção    Caminho             Prioridade Estado
------------------------------------------------------------
* 0            /bin/nano            40        modo automático
  1            /bin/ed             -100       modo manual
  2            /bin/nano            40        modo manual
  3            /usr/bin/vim.basic   30        modo manual
  4            /usr/bin/vim.tiny    10        modo manual

Pressione ENTER para deixar a escolha corrente[*] ou digite o número selecionado:

Eu prefiro utilizar o vim, então escolhi a opção 4

É isso.

abraço!

High performance FTP

Você está cansado de esperar um absurdo de tempo para baixar seus projetos via FTP? Então dê uma olhada…
read more »

  • RSS
  • Facebook
  • Google+
  • LinkedIn
  • Twitter
  • Git Hub
  • YouTube