Cat II

23 10 2009

Dica super rápida…
pra escrever em um arquivo podemos usar o cat e isso é bem simples…
ex:
cat > arquivo
meu texto vai aqui!!!
posso escrever normalmente…
pra sair e fechar o aquivo
+ d

se quiser appendar é quase identico…
cat >> arquivo

o restante é igual ao anterior…

bom espero que seja util a alguem…

abraços

Marcio





cat

21 10 2009

Quem nunca usou o comando cat pra listar conteudo de arquivos
mas o cat faz bem mais que jogar pra saida padrão o conteudo de um arquivo
podemos e devemos usar ele pra concatenar dois ou mais arquivos
nesse post vou mostrar como usar o cat de uma maneira um pouco menos trivial da que vejo as pessoas
usarem ele no dia a dia…
primeiro exemplo, quero ver o conteudo de um arquivo mostrando ao lado de cada linha de texto o numero da linha
onde ela se encontra pra isso é simples basta usar o cat como a flag -n
ex:
mrsantos@Cerrito ~>>$ cat -n letrasMusicas/Desassossegos
1 Meus desassossegos sentam na varanda,
2 pra matear saudade nesta solidão,
3 cada por de sol, dói feito uma brasa,
4 queimando lembranças,no meu coração.
5
6 Vem a noite aos poucos, alumiar o rancho,
7 com estrelas frias, que se vão depois.
8 Nada é mais triste, neste mundo louco,
9 que matear com a ausência, de quem já se foi.

hum não querer mostrar o numero de um linha vazia?
o mesmo comando acima mas com a flag -b
ex:
mrsantos@Cerrito ~>>$ cat -b letrasMusicas/Desassossegos
1 Meus desassossegos sentam na varanda,
2 pra matear saudade nesta solidão,
3 cada por de sol, dói feito uma brasa,
4 queimando lembranças,no meu coração.

5 Vem a noite aos poucos, alumiar o rancho,
6 com estrelas frias, que se vão depois.
7 Nada é mais triste, neste mundo louco,
8 que matear com a ausência, de quem já se foi.

Ok mas e a história de concatenar o conteudo de dois ou mais arquivos em um unico??
simples
cat letrasMusicas/Desassossegos letrasMusicas/MeuEuEmVoce > novoArquivo
nesse caso terei um novo arquivo chamado novoArquivo com o conteudo de Dessassossegos e MeuEuEmvoce

bom galera erea isso abraços

Marcio





Alexandria – software organizar coleções de livros

21 10 2009

há algum tempo estava procurando um gerenciador pra tentar por ordem nos meus livros, as vezes acho que compro mais do que consigo ler…
bom dando uma procurada encontrei o alexandria…
segue uma pequena descrição do mesmo…

Alexandria é um software compatível com o Linux Gnome. Trata-se de um organizador capaz de ajudar o usuário na tarefa de administrar e ordenar uma biblioteca pessoal.

O programa é capaz de organizar a coleção utilizando o ISBN – Standard Book Number (Número de livro standard internacional) que é um sistema identificador de livros.

Roda em Ambiente gráfico Gnome

quer instalar?
bom se vc usa debian como eu ou alguma variante é simples.
apt-get install alexandria

abraços

Marcio





Tarzinho com python :)

29 08 2009

29 de agosto de 2009 as 02:42 da manhã…
que varzea…
bom deixando minhas choradeiras de lado vamos ao que interessa, usar python pra gerar um arquivo no formato *.tar
é bem simples pra isso vamos usar o modulo tarfile
faremos isso com nosso já velho conhecido o import
import tarfile # aqui importamos nosso modulo
tar = tarfile.open(“nome_do_arquivo_gerado.tar”, “w”)
tar.add(“caminho/para/arquivo”)
tar.close()

bom galera essa seria uma operação básica com o modulo tarfile para criar um arquivo,
mas e se quisermos fazer o inverso abrir um arquivo *.tar
bom isso tbm é simples…
vamos começar do inicio novamente, partindo do presuposto que já temos o arquivo gerado ok?
import tarfile
tar = tarfile.open(“nome_arquivo.tar”, “r”)
tar.extractall() # com isso o conteudo desse tar será liberado no nosso diretório corrente…
# ou ainda podemos fazer assim
tar.extractall(“/tmp”) # assim o conteudo do tar será liberado dentro do nosso tmp por ex…

Bom galera por hoje é só…
to podre de sono…
02:58 agora…
hora de criança ir pro berço :)
abraços a todos

Marcio





Netbeans

26 08 2009

Procurando uma ótima IDE pra trabalhar com python, minha dica é o Netbeans estou usando ele em casa e no trabalho a uma semana mais ou menos e estou muito satisfeito…
bom que me conhece sabe que sou grande defensor do VIM e isso me encomodava um pouco, ter que deixar ele de lado pra usar o netbeans mas procurando na enorme quantidade de plugins disponiveis encontrei essa cara aqui…
jVi
Pra quem é fã do Vim vale a pena baixar esse plugin e unir o melhor dos dois mundos…
bom vou tentar criar um outro post com mais detalhes de como usar o netbeans com python e PHP
abraços

Marcio





string2list

25 08 2009

galera uma dica super rápida…
transformar uma string numa lista em python, simples…
>>> x = list(‘Marcio’)
>>> x
['M', 'a', 'r', 'c', 'i', 'o']

agora invertendo os elementos da lista…
>>> x.reverse()
>>> x
['o', 'i', 'c', 'r', 'a', 'M']

ou ainda:
>>> x = list(‘Marcio’)
>>> x[::-1]
['o', 'i', 'c', 'r', 'a', 'M']

agora tudo junto e misturado :)
>>> x = list(‘Marcio’[::-1])
>>> x
['o', 'i', 'c', 'r', 'a', 'M']

bom galera era uma dica rápida tá ai :)
abraços até mais…

Marcio





Agendar desligamento…

19 08 2009

Nossa nem lembro da última vez que postei algo aqui, quero mudar isso…
o blog tem uma média de visitas muito legal…

bom da dica de hoje é usando o shutdown no linux…
pra agendar um desligamento é simples
sudo shutdow -h valorEmMinutos
exemplo se quero que ele desligue daqui 15 minutos ficaria assim

Nossa nem lembro da última vez que postei algo aqui, quero mudar isso…
o blog tem uma média de visitas muito legal…

bom da dica de hoje é usando o shutdown no linux…
pra agendar um desligamento é simples
sudo shutdow -h +valorEmMinutos
exemplo se quero que ele desligue daqui 15 minutos ficaria assim
sudo shutdown -t +15
mas podemos fazer com um horário tbm
ficando assim
sudo shutdown -h +18:18
horário que saio do trabalho :)

Caso precisem cancelar o comando é simples!
sudo shutdown -c

abraços
Marcio





Numeros perfeitos – C

25 09 2008

Buenas, aula passada na cadeira de programação o prof pediu o um programa em C que verificasse se um dado numero era perfeito, lembrando que um numero é perfeito se a soma de seus divisores são iguais ao proprio numero ex: 6 = 1+ 2 + 3
segue o programa então:

#include<stdio.h>
/* Criado em:Qua 24/Set/2008 hs 22:13
 Autor: MRSantos mrsantos4@ucs.com */

int perfeito(int n);

int main(int argc, char *argv[])
{
        int x;
        x = atoi(argv[1]);

        system("clear; tput cup 20 40");

        /* ate hoje nao foi encontrada um perfeito impar
         * detalhes em: http://pt.wikipedia.org/wiki/N%C3%BAmero_perfeito
         * */
        if(x % 2 == 1)
        {
                printf("%d nao eh perfeito\n\n", x);
                return 0;
        }

        if(perfeito(x))
        {
                printf("%d eh perfeito\n\n", x);
                return 0;
        }
        else
        {
                printf("%d nao eh perfeito\n\n", x);
                return 0;
        }
        return 0;
}

int perfeito(int n)
{
        int i, soma = 0;

        for(i = 1; i <= n/2; i++)
        {
                if(n % i == 0)
                {
                        soma += i;
                }

        }
                if(soma == n)
                        return 1;
        return 0;
}




Enésimo termo da serie de Fibonacci – C

25 09 2008

Boa noite, to na universidade e o prof acabou de pedir o seguinte problema…
faça uma função que receba um inteiro >= 1 e retorne o enésimo termo da serie de finonacci
ex:

fibo(7)
retorno dessa função seria 13:

então segue o algoritmo :)

#include<stdio.h>
/* Criado em:Qua 24/Set/2008 hs 21:31
 Autor: MRSantos mrsantos4@ucs.com */

int main(int argc, char *argv[])
{
        int n;

        system("clear");
        if(argc != 2)
        {
                printf("\n\nUso: %s n\n", argv[0]);
                return -1;
        }

        n = atoi(argv[1]);
        if(n <= 1)
        {
                printf("\n\nValor deve ser maior que 1\n\n");
                return -1;
        }
        printf("\n\nO %d elemento da serie de fibonacci eh %d\n\n", n, fib(n));
        return 0;
}

int fib(int n)
{
        int i, v1 = 1, v2 = 1, soma;

        for (i = 3; i <= n; i += 1)
        {
                soma = v1 + v2;
                v1 = v2;
                v2 = soma;
        }
        return v2;
}




MDC – C

23 09 2008

Um exemplo de programa que mostra o máximo divisor comum entre dois números…
segue meu exemplo em C

#include<stdio.h>
/* Criado em:Ter 22/Set/2008 hs  22:00
 Autor: MRSantos mrsantos4@ucs.com */
int mdc(int x, int y);

int main( int argc, char *argv[] )
{
        int n1, n2;

        if(argc != 3)
        {
                printf("Uso: %s n1 n2\n", argv[0]);
                return -1;
        }
        n1 = atoi(argv[1]);
        n2 = atoi(argv[2]);

        if(n1 == 0 || n2 == 0)
        {
                puts("Os valores não podem ser 0");
                return -1;
        }

        printf("MDC de %d, %d eh %d\n", n1, n2, mdc(n1, n2));
        return 0;
}

int mdc(x, y)
{
        int dividendo, divisor, resto;
        if(x > y)
        {
                dividendo = x;
                divisor = y;
        }
        else
        {
                dividendo = y;
                divisor = x;
        }

        while( dividendo % divisor != 0 )
        {
                resto = dividendo % divisor;
                dividendo = divisor;
                divisor = resto;
        }
        return divisor;
}

Bom pessoal espero que possa ser útil para alguem, abraços e até o próximo…
Marcio