Traducir script BASH para usarlo en BATCH

Iniciado por chulas2106, 14 Enero 2015, 21:21 PM

0 Miembros y 1 Visitante están viendo este tema.

chulas2106

Hola, lo que pasa es que hice un pequeño script en mi netbook personal (con linux) para buscar nombres de personas en una "base de datos" (un archivo txt con informacion de personas) y por medio del comando grep me mostraba toda la linea que encontraba con toda la info... el problema es que no pense en que en mi trabajo TODAS las pc tienen windows 7 y no conozco absolutamente nada de la programacion BATCH.... si alguien me puede ayudar traduciendo este script a BATCH me haria un favor enorme ;D ;D
aqui va el codigo:

Código (bash) [Seleccionar]
#!/bin/bash
#Este es una prueba de un script para buscar datos en una lista
#escrita en un archivo de texto...


#Limpiamos la Terminal

clear

#Solicitamos informacion al usuario

#Definimos la variable $txt como lo que introdujo el usuario

read -p "Indique el archivo a analizar..." txt

#Confirmacion de entrada del usuario

echo Usted ha indicado el fichero $txt ...

#Solicitamos entrada al usuario

#Definimos la variable $dat como lo que introdujo el usuario

read -p "Que desea buscar en el fichero? " dat

#Confirmacion de entrada del usuario

echo Procediendo a buscar $dat en $txt

head -n1 $txt |sed "s/,/\t/g"|sed "s/\"//g"

#Instruccion grep para buscar palabras en el fichero

grep $dat $txt|sed "s/,/\t/g"


Eleкtro

1) Puedes descargar los puertos de las herramientas de Linux para Windows:
http://sourceforge.net/projects/unxutils/

2) Una vez descargada las herramientas GNU, los cambios en la traducción Bash > Batch serán mínimos, solo debes usar la sintaxis adecuada para evitar usar caracteres ilegales en Batch y los operadores de Batch.

Puedes leer la ayuda de cada aplicación para conocer las diferencias de sintaxis en Windows, de la siguiente manera:
app.exe --help

3) Prueba así:

Código (dos) [Seleccionar]
@Echo OFF & Title Batch-script test for GNU tools

REM Este es una prueba de un script para buscar datos en una lista
REM escrita en un archivo de texto...

:: Limpiamos la Terminal
CLS

:: Solicitamos informacion al usuario
:: Definimos la variable $txt como lo que introdujo el usuario
Set /P "txt=Indique el archivo a analizar...: "

:: Confirmacion de entrada del usuario
Echo:Usted ha indicado el fichero "%txt%"...

:: Solicitamos entrada al usuario
:: Definimos la variable $dat como lo que introdujo el usuario
Set /P "dat=Que desea buscar en el fichero?: "

:: Confirmacion de entrada del usuario
Echo:Procediendo a buscar "%dat%" en "%txt%"
(head.exe -n1 "%txt%") | (sed.exe "s/,/\t/g") | (sed.exe "s/\""//g")

:: Instruccion grep para buscar palabras en el fichero
(grep.exe "%dat%" "%txt%") | (sed.exe "s/,/\t/g")

Exit


Saludos