Peczenyj's Blog

Just Another /Perl|Ruby|C++|Java|Python|JavaScript|Flash|Bash/ Hacker

Mono: C# No Linux

Considere este simples código:

using System;

class MainClass {

public static void Main() {
Console.WriteLine("Eu sou um programa feito em C#");
Console.ReadLine();
}
}


Tcharam: um hello world que, no mundo MS, seria compilado no Visual Studio após alguns segundos de espera. Para plataformas abertas, podemos usar o Mono:

$ uname
Linux
$ mcs Example.cs # Mono Compiler Suite
$ mono Example.exe # Mono's ECMA-CLI native code generator
Eu sou um programa feito em C#
[enter]
$


Independente de Ideologias, C# é uma linguagem interessante e seu uso está cada vez mais comum. Para quem não quer ficar fora do mercado de trabalho, o mono pode ser uma ótima oportunidade para praticar. O site java2s possui um tutorial interessante para os curiosos.

Youtube Downloader

Cerca de um ano atras eu pesquisei uma forma de fazer o download automatico de videos do youtube informando o id ou a url inteira. Ele é bem didático, basta ser um pouco nerd e conhecer um pouco de expressões regulares (alias o livro do Aurelio está em promoção).

Minha inspiração para postar este script veio desta notícia, onde Warren Harding baixou um vídeo usando o Lynx e usou o Mplayer para exibir o vídeo no modo ASCII. O resultado é insano, porém divertido.

#!/bin/bash
# youtube downloader
# usage: script
# YouTube URL: http://www.youtube.com/watch?v=[video_id]

[ -z "${1}" ] && { echo 'Error! Missing url or video_id!' ; exit 1 ; }

URL="http://www.youtube.com"

# download link: http://youtube.com/get_video?video_id=[video_id]&t=[t_id]&...

DOWNLOAD=`wget -qO - "${URL}/watch?v=${1/*=}" | grep -oE 'video_id=.*&t=[^\"&]*' | head -1`

wget -O "${1/*=}.flv" "${URL}/get_video?${DOWNLOAD}"


Eu poderia ter feito tudo em uma unica linha usando xargs, porém ficaria um pouco poluído para publicar neste humilde blog, mas fica aí a dica.

Classificação Do Brasileiro via Shell Script

Querendo saber a classificação do seu time no campeonato brasileiro de 2007.

O bom e velho lynx + grep resolve.

$ URL=http://esportes.terra.com.br/futebol/brasileiro2007/classificacao/
$ lynx --dump ${URL} | grep '%'

Colocação Time PG J V E D GP GC SG %
1º Botafogo 17 7 5 2 0 18 7 11 81%
2º Paraná 14 7 4 2 1 14 9 5 67%
3º São Paulo 13 7 4 1 2 7 2 5 62%
4º Goiás 12 7 4 0 3 13 9 4 57%
Fluminense 12 7 3 3 1 11 6 5 57%
Corinthians 12 6 3 3 0 7 2 5 67%
7º Atlético-PR 11 7 3 2 2 12 10 2 52%
Atlético-MG 11 7 3 2 2 11 9 2 52%
Vasco 11 7 3 2 2 11 10 1 52%
10º Cruzeiro 10 7 3 1 3 16 15 1 48%
Figueirense 10 7 3 1 3 13 14 -1 48%
12º Grêmio 9 7 3 0 4 5 12 -7 43%
13º Palmeiras 8 7 2 2 3 9 12 -3 38%
14º Juventude 7 7 2 1 4 9 11 -2 33%
Internacional 7 7 2 1 4 8 12 -4 33%
Santos 7 7 2 1 4 7 11 -4 33%
17º Flamengo 6 6 1 3 2 11 15 -4 33%
18º Sport 5 7 1 2 4 9 13 -4 24%
Náutico 5 7 1 2 4 9 15 -6 24%
20º América-RN 4 7 1 1 5 6 12 -6 19%

Comments

Tiago Peczenyj
O link de 2007 tambem serve, o terra redireciona para o brasileirão atual :)
J. F. Mitre
O novo link para 2008 é:

http://esportes.terra.com.br/futebol/brasileiro/2008/classificacao/

funciona igualzinho ao anterior…
Alexandre
Bacana isso ( de mais um flamenguista -triste- por aqui).
Julio
Isso serve para mostrar como o Shell tem mil-e-uma utilidades. Script simples e rápido.

Legal Tiago, ficará melhor ainda qdo o mengão estiver em 1o. lugar. :)

Julio
:wq

The Linux Documentation Project

Muitos guias, tutoriais e Howtos aqui.

O ‘Advanced Bash-Scripting Guide’ do Mendel Cooper merece destaque especial – um livro excelente, assim como o ‘Bash Guide for Beginners’ do Machtelt Garrels e o ‘Linux From Scratch’ Gerard Beekmans.

Pesquisando um pouco conseguimos ate encontrar o Linux Portuguese-HOWTO escrito em 1997 pelo CaSantos.

Boa leitura!