![]() |
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.
|
|
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 |
| grep y mostrar unas líneas antes y después de | melanie_pfefer | Sun Solaris | 13 | 02-19-2009 11:54 PM |
| grep + líneas después | Janus | Programación de scripts de shell y | 4 | 11-03-2006 05:56 PM |
| grep cadena y el próximo n líneas | ashterix | Programación de scripts de shell y | 8 | 11-21-2005 11:38 PM |
| Grep en varias líneas | gundu | Programación de scripts de shell y | 13 | 03-25-2005 02:43 PM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
grep-n líneas antes y después de
Hola,
es posible grep un patrón que se incluirá la "n" líneas antes y después de la línea donde el patrón se ha encontrado? por ejemplo, # contiene el test.file línea1 line2 línea3 line4 Line5 entonces un comando grep para buscar la palabra "línea3" y la salida debe ser 1 (o n) antes de esa línea y línea 1 (o n) la línea "después de" esa línea. dessired salida del comando grep line2 línea3 line4 Gracias de antemano. |
|
||||
|
Hola,
Hay una forma muy sencilla de hacerlo. Digamos que usted tiene un archivo test.txt tener opinión »en alguna línea. Decir, que desea obtener 5 líneas por encima y por debajo de la línea que contiene la opinión y de salida en un archivo test_one.txt decir utilizar los siguientes: grep-C 5 "ver" test.txt> test_one.txt Recuerdos, Sumedha |
|
||||
|
Tenga en cuenta: muchos de estos ejemplos sólo funcionan con GNU herramientas, no todas las versiones de grep.
|
|
||||
|
Espero que a continuación perl le puede ayudar a algunos
Código:
sub lines_grep{
my($pattern,$line,$flag,$n,@tmp)=(@_);
while(<DATA>){
if($_=~/$pattern/){
print @tmp;
$flag=1;
}
else{
if($#tmp < $line-1){
push @tmp, $_;
}
else{
shift @tmp;
push @tmp, $_;
}
}
if ($flag==1){
print $_ ;
$n++;
}
if($n>$line){
last;
}
}
}
#lines_grep(pattern,3);
lines_grep(4,2);
__DATA__
1
2
3
4
pattern
6
7
8
9
|
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|