Aquí está la estructura de mi archivo:
/**** Some Text here ****/
UN 10.147.243.93 51.46 KB 256 34.2%
UN 10.147.243.89 83.05 KB 256 34.6%
DN 10.147.243.88 66.43 KB 256 32.7%
Aqui esta mi guion
file=$1
echo $file
if grep -q DN $File; then
echo "Get the corresponding IP address, It is the treatment that I
want to do next"
fi
Pero, muestra sólo el nombre del archivo. ¿Tienes alguna idea por favor?
2- Me gustaría entonces, extraer la dirección IP correspondiente. Aquí hay algunos detalles:
if grep -q DN $File; then
echo "Get the corresponding IP address Guest, It is the treatment
that I want to do next"
variable=This address
fi
Muchas gracias por la ayuda.
Atentamente.
-f
para especificar el nombre de archivo? También, por favor especifique el shell que está utilizando. "Script" no es suficiente, ya que hay diferencias bastante importantes entre sh, bash, csh, etc.grep --help
significa que la sintaxis utilizada es incorrecta. Sugiero mover la condición que usaste enif
y pruébelo en la consola interactiva: vea por qué no funciona.Respuestas:
Como se ha señalado, debe corregir el
$File
error de tipografía.Dependiendo de lo que haga con la salida, es posible que no necesite la
if
prueba en absoluto Dice que desea que la dirección IP se almacene en una variable:Esto se puede simplificar mucho más para lo que vale, pero coincide con lo que ya tiene.
Tenga en cuenta que esto sólo coincidirá con el primero instancia de una IP correspondiente a 'DN' en el archivo; ese comportamiento está implícito en su uso de la
-q
opción agrep
que sale inmediatamente en el primer partido.Si quieres hacer algo con cada Ocurrencia, tendrás que hacer algo diferente.
fuente