Article View: es.comp.os.linux.programacion
Article #15081Re: Leer líneas de un fichero
From: EstEl
Date: Wed, 16 Aug 2000 00:00
Date: Wed, 16 Aug 2000 00:00
92 lines
4109 bytes
4109 bytes
A ver si puedo decir algo a Oscar Manuel......
>#!/bin/bash
>RESULT=/tmp/onmap
>nmap -n -sP -PI 192.168.0.1-254 -m $RESULT
>linea=$(cat $RESULT|read)
>#linea=$(cat $RESULT|read host ip up_down final)
>/bin/echo $linea $host $ip $up_down $final
>$REPLY
No tengo muy claro lo que pretendes la verdad jeje a ver si la idea esta es
lo que pretendes......
Hacer un scaneo de lo que sea y meterlo en un archivo (mi nmap no tien la
opcion -m :?)
Cojerte linea a linea al archivo y mostrarlo como a ti te gusta
>Obviamente, quiero leer todas las l�neas generadas, pero para probar he
>querido leer la primera l�nea y almacenarla en $linea, pero me sale en
>blanco. Una vez conseguido esto, pretendo hacer un bucle para leer l�nea
>a l�nea, tratar los resultados y leer la siguiente l�nea, pero tampoco
>s� c�mo controlar el fin de fichero. Se notar� mi falta de contacto con
>bash, pero espero sepais comprenderlo.
Bueno a ver que se puede hacer:
-Metodo chapuza
Cojerte el comando tail o head (leetelos ;)) e ir cojiendo las lineas de ese
modo (metiendolo en un bucle)
Para controlar el fin de fichero lo mas comodo seria hacer un cat|wc que te
diga las lineas y meter ese valor en un for (lo malo es que los for del bash
son muy raritos XXDD) Pero vamos si quieres usar un for te lo puedes hacer
tu con un while y una variable contador. la cosa quedaria asi mas o menos
conta=$(cat $RESULT|wc -l)
contador=conta
while contador _eq_ conta do;
lo que quieras
conta=conta+1
;done
-METODO ELEGANTE (en mi opinion)
Usar el awk que es precisamente para eso... bueno para eso y para un monton
de cosas mas jeje
La idea es que si tu le pasas un archivo con campos separador por espacios
(o por lo que quieras, puedes definirte tu propio separador de campo) al awk
el te lo procesa linea a linea y te lo muestra como quieras
Veamos un ejemplillo ya veras que para lo que lo quieres es lo mas sencillo
imaginate que quieres mostrar los campos 3 4 2 5 en ese orden
awk -f <nombre del archivo> '{print $3,$4,$2,$5}'
Pos ya esta..... ahora imaginate que a eso le quieres poner una cabecera
para que en l aprimera linea te quede potito (a ver si me acuerdo)
awk -f <nombre del archivo> 'BEGIN {ip puerto lo que sea} {print $3,$4,$2,$5}'
Pos eso..... espero haberte picao para que le eches un ojillo al awk por que
creo que es tu solucion para esto (y en muchos laos dicen que es la navaja
suiza del unix)
>1) Esto es por simple curiosidad �Se pueden especificar dos (o m�s)
>shells en un mismo script? Ejemplo:
>
>#!/bin/bash
>
>...
>
>#!/usr/bin/perl
Pues no tengo ni idea, lo que si que se es que al hacerlo te crea una
subshell con lo que chupara mas..... (creo)
>2) En el script de mi programilla, cuando ejecuto el nmap, se me activa
>el WOL de la otra m�quina y se enciende. �Por qu�? �C�mo evitarlo (sin
>quitar el cable WOL ni el latiguillo, obviamente)?
que es el wol?
PD: para "tan poquita cosa" yo le metia una sh o una ksh que son casi lo mismo
;)
--
Este mail esta en.......
( ( ( ( ( ( ((in Dolby Pro Logic)) ) ) ) ) ) )
Enrique(EstEl en irc.unionlatina.org:#berta)
Usuario registrado de Linux:140947
Si no se oye la musica configura bien windows y reinicia un par de veces...
Technical Details
Message-ID:
<j2gen8.0j.ln@debian>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<39999EE1.BFBF9AE4@omgs.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,1acfdd076705ea7c X-Google-Attributes: gidf86c8,public From: Enrique@imladris.org (EstEl) Subject: Re: Leer líneas de un fichero Date: 2000/08/16 Message-ID: <j2gen8.0j.ln@debian> X-Deja-AN: 659604307 Content-Transfer-Encoding: 8bit References: <39999EE1.BFBF9AE4@omgs.es> Content-Type: text/plain; charset=iso-8859-1 X-Trace: fu-berlin.de 966573192 9192745 62.82.250.236 (16 [31308]) Organization: Grupo de Empresas Antakira Mime-Version: 1.0 User-Agent: slrn/0.9.5.3 (UNIX) Reply-To: estelANTISPAM@upseros.com Newsgroups: es.comp.os.linux.programacion