BASH – Script convierte a WAV cualquier archivo de audio ogg.-

Las tuberías se utilizan para enviar la salida de un comando o proceso a la entrada de otro, esto es con recuencia necesario para completar una acción iniciada con un comando que debe ser completada con otro. Es simple el modo de operar, solo se coloca el carácter | en la linea de comandos entre un programa y otro. Este carácter (|) se conoce como tubo (pipe).

Este guión convierte a wav cualquier archivo de audio ogg.

Primero se invoca a file para que analice el tipo de archivo correspondiente a la variable $1 que como ya se sabe es el primer argumento introducido en la linea de comandos (por ejemplo la ruta hasta un archivo). Luego la salida de file se entuba al programa grep que determina si dentro del archivo aparece la palabra vorbis (caso de los archivos de audio ogg).

El condiciomal if- then-fi chequea que sea cierto (es decir la palabra vorbis si existía, por lo que es un archivo ogg de audio), entonces se decodifica a wav con el comando oggdec, de lo contrario se imprime que es un archivo no soportado.

Tanto la salida estándar como la de errores se envía a /dev/null, un dispositivo que «desaparece» la información suprimiendo la salida por pantalla. Esto es conveniente y saludable en muchas lineas de comandos cuando la salida puede generar gran cantidad de información tanto de salida estándar como de errores y estos no nos interesan. Solo se escribe >/dev/null 2>&1

Publicado en Unix - Linux | Deja un comentario

BASH – Script de uso sentencia IF con ELIF (Selección multiple).-

Publicado en BATCH - DOS | Deja un comentario

AWK – Vocabulario usado en un texto.-

Este programa imprime la lista de todas las palabras diferentes usadas en un texto, junto con la frecuencia de aparición de cada una. Para simplificar el programa se asume que no hay signos de puntuación, y las palabras están separadas por espacio en blanco o saltos de línea. Esto significa que cada palabra es un campo de la línea de entrada. Código del programa (vocabulario.awk):

Observaciones:
1. La primera cláusula del programa tiene el patrón omitido. Se aplica a todas las líneas del texto de entrada.
2. Las palabras en mayúsculas y en minúsculas se tratan como diferentes. Este es el comportamiento por defecto de AWK.
3. Los resultados no aparecen en orden alfabético (ni en ningún otro orden determinado). Las tablas suelen implementarse internamente como tablas «hash», y sus elementos se recorren en el orden que haya decidido quien construyó el intérprete.

Ejemplo de texto de entrada (texto.txt):
Este programa imprime la lista de todas las
palabras diferentes usadas en un texto, junto con
la frecuencia de aparición de cada una. Para
simplificar el programa se asume que no hay
signos de puntuación, y las palabras están
separadas por espacio en blanco o saltos de
línea. Esto significa que cada palabra es un
campo de la línea de entrada.

Orden de ejecución:
awk -f vocabulario.awk texto.txt

Resultados:

entrada. 1
Esto 1
etc…..

Publicado en Unix - Linux | Deja un comentario

Procesar varios archivos por línea de comandos en Windows.-

Para aplicar un cierto acción a varios archivos desde la línea de comandos de Windows existe la instrucción forfiles.

En Windows 7, la invocación tiene los siguientes parámetros (todos son opcionales):

/P : ruta sobre la cual buscar los archivos
Si no se especifica, se considera el directorio actual
/S: se procesan los subdirectorios del path recursivamente
/M : patrón de los archivos a considerar, pudiendo indicar nombre y extensión. Por ej: *.log
Si no se especifica, se considera *
/D { [+] | – }{ dd/mm/aaaa | N }: selecciona archivos a partir de la fecha de última modificación de cada uno.
Si no se especifica el signo -, se considera por defecto +
-dd/mm/aaaa: fecha de última modificación anterior o igual a dd/mm/aaaa
+dd/mm/aaaa: fecha de última modificación posterior o igual a dd/mm/aaaa
-N: fecha de última modificación anterior o igual a la fecha actual menos N días
+N: fecha de última modificación posterior o igual a la fecha actual más N días
/C “”: indica la acción a ejecutar sobre cada uno de los archivos que hayan sido seleccionados
Si no se especifica, se considera “cmd /c echo @file”
Si se desea utilizar un comando de CMD, deben estar precedidos por “cmd /c”
Variables disponibles en
@file: nombre del archivo
@fname: nombre de archivo sin extensión
@ext: extensión del archivo
@path: ruta de acceso completa al archivo
@relpath: ruta de acceso relativa del archivo
@isdir: “TRUE” si es un directorio y “FALSE” si es un archivo
@fsize: tamaño del archivo en bytes
@fdate: última fecha de modificación del archivo
@ftime: última hora de modificación del archivo

Ejemplos:

forfiles /P C:\logs /D -20 /C «cmd /c del @path»

Borra los archivos del directorio logs de más 20 días desde su última fecha de modificación

forfiles /C «cmd /c if @isdir==TRUE echo @file»

Imprime por pantalla los directorios que se encuentren en la ruta actual

forfiles /P C:\Documents\ /S /M *.xlsx /C «cmd /c echo @fname – @fdate»

Muestra el nombre y fecha de última modificación de cada uno de los archivos de Excel dentro del directorio de documentos (y subdirectorios)

Publicado en BATCH - DOS | Deja un comentario

BATCH – Script para obtener la fecha y hora en WINDOWS.-

Publicado en BATCH - DOS | 1 comentario