![]() |
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui. |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| grep e apresentar algumas linhas antes e depois | melanie_pfefer | Sun Solaris | 13 | 02-19-2009 11:54 |
| grep + linhas depois | Janus | Programação Shell Script e | 4 | 11-03-2006 05:56 |
| grep string & próxima n linhas | ashterix | Programação Shell Script e | 8 | 11-21-2005 11:38 |
| Grep em várias linhas | gundu | Programação Shell Script e | 13 | 03-25-2005 02:43 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
grep-n linhas antes e depois
Oi,
é possível grep um padrão que incluem o "n" linhas antes e depois da linha onde o padrão foram encontrados? por exemplo # esta contém a test.file linha1 linha2 Linha3 Line4 line5 em seguida, um comando grep para pesquisar a palavra "Linha3" e à saída deverá ser 1 (ou n) e linha antes que a linha 1 (ou n) na linha ", após" essa linha. dessired saída do comando grep linha2 Linha3 Line4 Thanks in advance. |
|
||||
|
Oi,
Existe uma maneira muito simples de fazer isto. Vamos dizer que você tem um arquivo teste.txt com "vista" em algumas linhas. Diga, você desejar obter 5 linhas acima e abaixo da linha que contém "ver" e saída para um arquivo test_one.txt uso dizer o seguinte: grep-C 5 "ver" teste.txt> test_one.txt Atenciosamente, Sumedha |
|
||||
|
espero abaixo perl pode ajudá-lo a algum
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 |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|