Mostrando las entradas con la etiqueta open. Mostrar todas las entradas
Mostrando las entradas con la etiqueta open. Mostrar todas las entradas

sábado, 12 de abril de 2014

Convertidor de videos para Ubuntu 13.10 HandBrake

En Ubuntu o en los sistemas GNU/Linux tenemos algunos programas para convertir vídeos,este en especial me gusta:


Es Open Source y solo necesitamos instalar y ya,no necesitamos soporte extra como en el caso de ffmpeg , solo instalamos y listo :D

Este convertidor sirve muy bien para los ipod touch o iphone,en el caso de ipod touch,solo sirve de la version 4g para arriba,una version menor tenemos que convertirlos usando el codec ipod sin soporte para 5g:


Tiene opciones de Video,Audio,Subtitulos y Metadatos.


Bien para instalar lo podemos hacer por PPA:

Primero abrimos una terminal(Ctrl+Alt+T):

Escribimos:
sudo add-apt-repository ppa:stebbins/handbrake-releases &&  sudo apt-get update



Y instalamos:

sudo apt-get install handbrake-gtk
Para 64 bit podemos hacerlo desde el .deb:

mkdir ~/handbrake && cd ~/handbrake
wget -c https://launchpad.net/~stebbins/+archive/handbrake-releases/+files/handbrake-gtk_0.9.9ppa1~raring1_amd64.deb
sudo dpkg -i handbrake-gtk_0.9.9ppa1~raring1_amd64.deb && sudo apt-get install -f
Abrimos,buscamos en el Dash:


O en la terminal si aun esta abierta escriben:

ghb & exit

Ahora a disfrutar o usar :D.

Leer más...

viernes, 16 de noviembre de 2012

Manejo de archivos de texto con Perl

Algunas veces necesitamos abrir archivos con perl desde Unix o sistemas Windows,mas que nada yo en Unix,y esto lo podemos hacer de muy buena manera usando el comando open y un filehandle, después de ahí ya podremos partir para lo que queramos usarlo.

En perl podemos hacer las cosas de muchas maneras y les voy a mostrar algunas funcionalidades que le podemos dar a open.

Primero que nada esta es la sintaxis que se usa:

open(filehandle, "Archivo" )

Que es filehandle???

Indicador exclusivo asignado a un fichero que permite dirigirse hacia él

Osea que le vamos a dar un indicador a nuestro archivo para poder usarlo en el script


Bien vamos a inicar con los ejemplos

Abran una terminal

Y escriban

echo "Esta es una prueba de perl hecha por tiempo de tux" >> tiemtux.txt
Eso que hicimos fue crear un archivo llamado tiemtux.txt y que contiene:

Esta es una prueba de perl hecha por tiempo de tux
Ahora creamos un script en perl para abrir el archivo


vim abrir-prueba.pl
Y escribimos

#!/usr/bin/env perl


use strict;
use warnings;
use utf8;

open (PRUEBA, "tiemtux.txt");

while (<PRUEBA>) {

chomp;

print "$_\n";

}

Después ejecuten

perl abrir-prueba.pl

y vean el resultado




Lo explico:

#!/usr/bin/env perl

Es el hashbang o shebang

use strict;        use warnings;  use utf8;         

Esto mas que nada es para realizar una buena programación, sin fallo alguno

open (PRUEBA, "tiemtux.txt");

open es el comando que abre el archivo

PRUEBA es el filehandle que le pasamos al archivo(debe ir con mayúscula)

tiemtux.txt es el archivo que vamos a abrir

while (<PRUEBA>) {

Es un bucle que leerá todo el archivo,de principio a fin

chomp;

Este comando limpia la lectura,parecido a chop

print "$_\n";

Imprime el valor del ciclo que a tomado,que es la ultima entrada,osea el archivo en si.

}

Todo lo que empieza tiene que acabar y este símbolo cierra el bucle a igual que lo abre el que esta en el bucle.

Y así se abren los archivos

Vamos a hacer algo mas interesante

Vamos a vitaminar el scirpt :D

Editamos nuestro script que quede así:

#!/usr/bin/env perl

use strict;
use warnings;
use utf8;

if ($ARGV[0]) {

open (PRUEBA, $ARGV[0]) || die "$!\n";

while (<PRUEBA>) {

chomp;

print "$_\n";

                 }
}

else {
print "\n[+] Sintax : $0 <archivo>\n";
}



Como les he dicho Unix funciona con distintos lenguajes de programacion y perl no es la diferencia

Por ejemplo alien,si alien el programa para manejo de paquetes es un script mutante en perl

Ver paquete
Y no hay mucha sertesa de cuantos programas de unix usan perl para funcionar,por ejemplo el script que les deje arriba seria el equivalente de cat

Ya que se dice que cat,si cat el comando para concatenar en los sistemas tipo Unix usa este algoritmo

while(<>){print}
Que lo use en el script de arriba,pues bien vamos a hacer un clon de cat

No se ciertamente si es un clon, porque si queremos ver cat esta ofuscado y nos sale algo como esto



Y tampoco he visto el código fuente,pero debe ser algo muy grande,el clon que vamos a realizar es solo para lo que se usa mas,que es para husmear en archivos de texto.

Bueno vamos a empezar

Primero necesitamos que nuestro script abrir-prueba.pl este así:



Pueden remplazar $0 por catp: así


#!/usr/bin/env perl

use strict;
use warnings;
use utf8;

if ($ARGV[0]) {

open (PRUEBA, $ARGV[0]) || die "$!\n";

while (<PRUEBA>) {

chomp;

print "$_\n";

                 }
}

else {
print "\n[+] Sintax : catp <archivo>\n";
}



Ahora lo copiamos a /usr/bin/


sudo cp abrir-prueba.pl /usr/bin/catp
Ahora le damos permisos de ejecución


sudo chmod +x /usr/bin/catp
Y listo ya tenemos catp(cat perl) en nuestro directorio de programas,ahora ejecuten:

Ahora si cualquier archivo de texto que quieran:

con la sintaxis

catp archivo_texto

Por ejemplo 

Con cat:



Con catp:


Identico?

En este caso si,ya que como dije cat tiene una enorme potencia y
muchas otras funciones,pero si se dan cuenta también sirven los pipes:



Bueno eso es todo,si ya saben usar join,split,etc sabrán que se pueden hacer muchasssssss cosas con perl,pero si no es asi esperen próximos tutoriales.

A y me falto explicar el codigo:



#!/usr/bin/env perl

use strict;        #
use warnings; # Buena programación
use utf8;          #

if ($ARGV[0]) { # Verificamos si existe ARGV,(ya lo habíamos visto)

open (PRUEBA, $ARGV[0]) || die "$!\n"; # Abre el archivo,que sera   # ARGV[0],y si no lo puede abrir ira a la función die

while (<PRUEBA>) { # Iniciamos bucle para que lo abra

chomp; # Limpiamos codigo

print "$_\n"; # Imprimimos el texto

                 }
} # Todas las llaves son para abrir y cerrar, así que llevan               # compañero,analizar el código para saber cual es de cual

else {
print "\n[+] Sintax : catp <archivo>\n"; # Si no hay ARGV imprime   # esto
}




Leer más...