![]() |
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí. |
Más UNIX y Linux Foro Temas usted puede encontrar útiles
|
||||
| Hilo | Hilo para principiantes | Foro | Respuestas | Último mensaje |
| Uso de grep para extraer el número de línea | mskarica | Programación de scripts de shell y | 8 | 06-26-2008 03:47 AM |
| Cómo grep / zgrep a la salida sólo se pongan en venta el nombre de archivo y número de línea? | vvaidyan | UNIX for Dummies Preguntas y Respuestas | 3 | 03-12-2008 05:33 PM |
| grep la cadena con el número de línea | salaathi | Programación de scripts de shell y | 4 | 12-04-2007 11:42 AM |
| Obtener el nombre del archivo y la línea usando grep | ceemh3 | UNIX for Dummies Preguntas y Respuestas | 4 | 09-17-2007 11:35 AM |
| ¿hay alguna razón para obtener el número de línea en grep resultado? | umen | UNIX for Dummies Preguntas y Respuestas | 1 | 03-16-2006 09:56 AM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
Grep un número de una línea en ksh
En file.name, tengo una línea que dice
Idir $ / imgen-usemonths-dropcheck monitor sizelimit-80000000-intervalo de 120-HSI volcal ¿Cómo puedo obtener el límite de tamaño, es decir, 80000000 y pasarlo a una variable llamada TAMAÑO? Gracias. He intentado echo "grep sizelimit file.name" | sed -n-e 's / ^. sizelimit \ ([0-9] * \)-intervalo .* $ / \ 1 / p' pero nada de salida. |
|
||||
|
Tan cerca ... Código:
SIZE=`grep sizelimit myfile | sed 's/^.*sizelimit //' | awk '{print $1}'`
deben trabajar (Nota: Se permite que los argumentos para estar en un orden diferente en el archivo). Hay otras opciones que implican analizar la línea (ya sea en awk o depósito), como: Código:
SIZE=0
grep sizelimit myfile | while read s
do
set -- $s
while [ $# -gt 0 ]
do
case $1 in
-sizelimit) SIZE=$2; break;;
*) shift;;
esac
done
done
|
|
||||
|
Cita:
La primera opción funciona bien. ¿Quiso decir que funciona incluso si "-sizelimit 80000000" se traslada a algún otro sitio en la línea también? |
|
||||
|
Cita:
Lo que realmente hace es chuletas de todo, desde el comienzo de la línea hasta e incluyendo la palabra y el espacio sizelimit después y, a continuación, toma la primera palabra del resto (que es el valor de sizelimit). |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|