Autor Tópico: Script para arquivo de rascunho  (Lida 921 vezes)

Offline sigur

  • Usuário Ubuntu
  • *
  • Mensagens: 1.119
    • Ver perfil
Script para arquivo de rascunho
« Online: 19 de Janeiro de 2013, 13:17 »
Pessoal, quantas vezes vocês já se depararam com a necessidade de escrever alguma informação, site, link, endereço, documento, e-mail, nome de alguém, telefone, etc... e não tinha papel na mesa? Pois bem, tem gente que usa programinhas tipo notas adesivas, bloquinhos amarelos, etc...

Mas, em geral, acabamos criando muita coisa no computador, salvando em locais que depois não lembramos, ou até mesmo nem sabemos o nome que demos pros arquivos. 

Eu costumo digitar bastante algum texto e ir salvando, pra depois poder revisar, etc... Pensando nisso, criei o script rascunho.sh que gera um arquivo rascunho em /home/<seu_user> e vai inserindo nele as informações que digitamos.

Podemos simplesmente executar o rascunho e o editor mais simples de texto será aberto. Daí, automaticamente uma linha com data e hora será inserida e é só colar o que queremos, ou escrever, etc...

Mas também, se é coisa simples, nem precisa abrir o arquivo: basta digitar no terminal
Código: [Selecionar]
rascunho "bla bla bla" e já irá parar no fim do arquivo rascunho.

A única coisa que precisa é alterar o editor de preferência. Consegui fazer um teste, baseado no Desktop: se for Lubuntu, abre com leafpad; caso contrário, abre com gedit. Aqui caberia uma melhoria, para testar qual editor básico está instalado, sem precisar testar por distro.

Bem, quem quiser fazer uso, basta copiar o código e colar num arquivo e depois jogá-lo no /urs/bin

Vamos lá:

1. Copie o código:
Código: [Selecionar]
#!/bin/bash
## script para criacao de um arquivo de rascunho
## criado por Sigur (Jan, 2013)
file=rascunho
folder=/home/$USER/
content=$1
printf "\n\n" >> $file
echo "------< $(date "+%b %d, %Y - %H:%M:%S") >------" >> $file
if [ -n "$1" ]; then
  echo "$1" >> $file
else
  if [ "$DESKTOP_SESSION" = "Lubuntu" ]; then
  exec leafpad $file
  else
  exec gedit $file
  fi
fi

2. Cole o código no arquivo aberto com o comando:
Código: [Selecionar]
sudo gedit /usr/bin/rascunho.sh(se não tem o gedit, você provavelmente sabe qual o editor usar)

3. Salve e feche o arquivo:

4. Dê permissão de execução com:
Código: [Selecionar]
sudo chmod +x /usr/bin/rascunho.sh
Pronto! Já pode executar no terminal:
Código: [Selecionar]
rascunho "nao posso confiar na memoria, melhor ir guardando tudo"
Ou então, se copiou uma piada bacana e quer guardar pra ler depois, basta fazer:
Código: [Selecionar]
rascunhoe colar no arquivo que foi aberto. Salve, feche e pronto!

5. Para saber o que tem no rascunho, abra o arquivo rascunho que está na sua pasta pessoal (ou em outro, se editou o código). Se preferir, pode chamar no terminal:
Código: [Selecionar]
cat rascunho
Obs.: Notem que optei por colocar o mês na data, assim, para buscar tudo o que foi salvo em janeiro, por exemplo, basta fazer:
Código: [Selecionar]
grep Jan rascunho
ps: uma coisa que seria legal se desse pra fazer é, automaticamente, ir pro fim do arquivo ao abrir o editor. No caso de o editor aceitar opções de linhas, eu sei fazer. Mas meu leafpad não tem, então deixei sem. Se não, basta contar as linhas com o wc -l que fica fácil.

ps1: seria bom se desse pra ir inserindo sempre no início do arquivo, e não no fim como no caso do >> $file. Daria pra fazer isso se usássemos um arquivo temporário e depois fazer o cat na ordem desejada. Mas isso ia ficar criando e deletando arquivos temporários, não achei legal.

Espero que gostem. Abraços.