01 novembro 2008

Usando pequenas Atalhos “Ninjas”

Exemplo 1 - quero editar o meu arquivo user.js (que contém as preferências do firefox) mas não lembro onde está, apenas sei que está numa pasta oculta chamada .mozilla
Solução:

vim $(find ~/.mozilla -iname user.js)

antes de abrir o arquivo pelo vim, o sistema cria uma variável que contém a localização do arquivo e passa como parâmetro para o editor vim.

Exemplo 2 - Quero somar os números de 1 a 100
Solução:
echo "a soma de 1 a 100 é $(seq 1 100 | paste -sd+ | bc)"
O comando echo mostra textos e variáveis na tela, no caso o trecho após o cifrão passa a ser uma variável e será interpretado antes do comando echo, ou seja o comando echo vai receber o resultado abaixo:

5050

O comando seq gera a sequência de 1 a 100 e repassa através de um pipe "encanamento" os 100 números para o comando paste, o mesmo usando o parâmetro "-sd+" coloca um sinal de mais "+" entre cada um dos valores, por fim o comando bc "calculadora de linha de comando" faz a soma dos valores recebidos

Exemplo 3 - Quero criar uma estrutura de pastas rapidinho
Solução:

mkdir -p {tmp/,docs/{img/{wallpapers/,icons/,fotos/},textos/{man/,artigos/}}}

No comando acima cada par de chaves determina o conteúdo das pastas, não perca a conta senão dá erro!

Exemplo 4 - Quero entrar numa pasta se existir ou cria-la e então entrar na mesma
Solução:

[ -d pasta ] || mkdir pasta ; cd pasta

Temos na verdade dois comandos separados por ponto e vírgula

  • [ -d pasta ] || mkdir pasta
  • cd pasta

O primeiro comando diz:
Querido sistema, se pasta existir [ -d pasta ]
ou --> "||" você fizer o favor de criar para min mkdir pasta
entre na mesma "; cd pasta"

Fonte: Sergio Luiz Araujo Silva – http://vivaotux.blogspot.com