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.

-fpara 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 --helpsignifica que la sintaxis utilizada es incorrecta. Sugiero mover la condición que usaste enify pruébelo en la consola interactiva: vea por qué no funciona.Respuestas:
Como se ha señalado, debe corregir el
$Fileerror de tipografía.Dependiendo de lo que haga con la salida, es posible que no necesite la
ifprueba 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
-qopción agrepque sale inmediatamente en el primer partido.Si quieres hacer algo con cada Ocurrencia, tendrás que hacer algo diferente.
fuente