cli-apps: GNU parallel

NAME
parallel - build and execute shell command lines from standard input in parallel
SYNOPSIS
parallel [options] [command [arguments]] < list_of_arguments
parallel [options] [command [arguments]] ( ::: arguments | :::: argfile(s) ) ...
parallel --semaphore [options] command
#!/usr/bin/parallel --shebang [options] [command [arguments]]

DESCRIPTION
GNU parallel is a shell tool for executing jobs in parallel using one or more computers. A job can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU parallel can then split the input into blocks and pipe a block into each command in parallel.
If you use xargs and tee today you will find GNU parallel very easy to use as GNU parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel.
GNU parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU parallel as input for other programs.
For each line of input GNU parallel will execute command with the line as arguments. If no command is given, the line of input is executed. Several lines will be run in parallel. GNU parallel can often be used as a substitute for xargs or cat | bash.

Reader's guide
Before looking at the options you may want to check out the EXAMPLEs after the list of options. That will give you an idea of what GNU parallel is capable of.
You can also watch the intro video for a quick introduction: 
http://tinyogg.com/watch/TORaR/ 
http://tinyogg.com/watch/hfxKj/ 
http://tinyogg.com/watch/YQuXd/  
http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

 

http://www.gnu.org/software/parallel/man.html

Anuncios

Lunes de man pages: shred

Los Lunes descanso e intentare escribir sobre un man page de un comando nuevo que haya utilizado en la semana o algo así.

Ayer recordé que un cliente nos solicito pruebas de que eliminábamos segura, ya que para el es requerido entregar prueba de que ellos lo hacen por cosas legales y blah blah.

Shred es una herramienta parte del GNU core utils y su en su codigo fuente describe su funcionamiento en una manera bastante sencilla: “overwrite files and devices to make it harder to recover data“. Les dejo la introducción al man page.

NAME
       shred - overwrite a file to hide its contents, and optionally delete it

SYNOPSIS
       shred [OPTION]... FILE...

DESCRIPTION
       Overwrite  the specified FILE(s) repeatedly, in order to make it harder
       for even very expensive hardware probing to recover the data.

       Mandatory arguments to long options are  mandatory  for  short  options
       too.
  1. http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/shred.c
  2. http://unixhelp.ed.ac.uk/CGI/man-cgi?shred+1

http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/shred.c


¿more vs less? ¿ifconfig vs ip? RTFM :)

Sigo sin entender por que muchos sitios en sus ejemplos usan MORE y IFCONFIG todavía. Jóvenes usen  LESS y IP de ahora en adelante.

man more
 NAME
 more - file perusal filter for crt viewing
SYNOPSIS
 more [options] file [...]
DESCRIPTION
 more is a filter for paging through text one screenful at a time. This version is especially primitive. Users should realize that less(1) provides more(1) emulation plus
 extensive enhancements.

man ifconfig
NAME
       ifconfig - configure a network interface

SYNOPSIS
       ifconfig [-v] [-a] [-s] [interface]
       ifconfig [-v] interface [aftype] options | address ...

NOTE
       This program is obsolete!  For replacement check ip addr and ip link.  For statistics use ip -s link.

1280205776769_7225995


Como sacar la version de SQL server.

Ayer me preguntaron como podemos saber la version de Microsoft SQL Server que estamos corriendo, la respuesta es con la siguiente instrucción en SQL

SERVERPROPERTY(‘ProductVersion‘)

La instrucción nos regresa un nvarchar(128) con el siguiente formato.

major.minor.build

También, puede utilizarse para otras propiedades de la instancia en el servidor.

 

Referencia: http://msdn.microsoft.com/es-us/library/ms174396%28v=SQL.90%29.aspx

 


De cervezas, donde tomarla y como servirla.

Me gusta la cerveza, no lo puedo negar.

Échenle un vistazo a este vídeo.

url: http://lifehacker.com/5664424/how-to-give-your-beer-the-right-glass-and-a-proper-pour


Notepad++ para ejecutar T-SQL usando NppExec.

Notepad++ es sin duda una de las herramientas que más uso en mi trabajo, me agrada y funciona, aun no tengo quejas suficientes para buscar otra solución en Windows.

De lo que si estoy harto es del SQL Server Management Studio, como la mayoría de las aplicaciones adoran la memoria y entre más puedan consumir pues mejor para él!

El otro día, explorando lo plugins de n++ me di cuenta que contaba con uno que nos permite ejecutar programas y comandos desde el mismo editor. Partiendo de esto utilice una de las herramientas que vienen con el SQL server llamada SQL Server Command Line Tool como su nombre dice nos permite ejecutar TSQL desde la linea de commandos.

Mi post es más largo que la solucion en realidad.

  1. Encontremos el SQL command line tool ejemplo \Microsoft SQL Server\90\Tools\Binn
  2. Creamos nuestro script y presionamos F6, nos aparece una caja de dialogo donde podemos ingresar texto.
  3. En la caja anterior ingresamos siguiente código NPP_SAVE
    SET SQLCMD = "C:\Program Files\Microsoft SQL Server\90\Tools\Binn\SQLCMD.EXE"
    SET SQLSERVER = SERVER
    SET SQLDB = DB
    SET DBUSER= USUARIO
    SET DBPASS = PASSWORD
    $(SQLCMD) -S $(SQLSERVER) -d $(SQLDB) -U $(DBUSER) -P $(DBPASS) -i "$(FULL_CURRENT_PATH)"
    UNSET SQLCMD
    UNSET SQLSERVER
    UNSET SQLDB
    UNSET DBUSER
    UNSET DBPASS

    El NPP_SAVE es sentencia que le dice al editor que salve el archivo.
    El SET nos permite asignarle un valor a una variable con el valor que necesitemos. Obvio se reemplazan los valores de la variables por el que ustedes necesitan.

    La siguiente parte es la ejecución del SQL command line tool con las variables que usamos.
    usage: Sqlcmd [-U login id] [-P password] [-S server] [-H hostname] [ -i input_file ]

  4. Presionan Save y escogen un nombre.
  5. Presionan OK y este es el resultado

Como ven, es muy útil y así nos quitamos de una aplicación no agradable a la vez 😉