The UNIX and Linux Forums  


Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



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

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 01-21-2008
airman_ole airman_ole is offline
Usuário
  
 

Join Date: Jan 2008
Posts: 2
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.
  #2 (permalink)  
Old 01-21-2008
vino's Avatar
vino vino is online now Forum Staff  
Apoiante (in vino veritas)
  
 

Join Date: Feb 2005
Local: Bangalore, Índia
Mensagens: 2.798
Se você tem GNU grep, então é possível. Do homem grep

Código:
       -A NUM, --after-context=NUM
              Print NUM lines  of  trailing  context  after  matching  lines.
              Places  a  line  containing  --  between  contiguous  groups of
              matches.

       -B NUM, --before-context=NUM
              Print  NUM  lines  of  leading  context  before matching lines.
              Places a  line  containing  --  between  contiguous  groups  of
              matches.
  #3 (permalink)  
Old 01-21-2008
Ygor's Avatar
Ygor Ygor is offline Forum Staff  
Moderador
  
 

Join Date: Oct 2003
Localização: -31.96,115.84
Mensagens: 1.409
grep e apresentar algumas linhas antes e depois
  #4 (permalink)  
Old 07-03-2009
Sumedha Sobti Sumedha Sobti is offline
Usuário
  
 

Join Date: Jul 2009
Localização: Índia
Posts: 9
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
  #5 (permalink)  
Old 07-03-2009
jim McNAMARA jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Localização: NM
Mensagens: 5.777
Observe: um lote de trabalhar apenas com estes exemplos GNU ferramentas, nem todas as versões do grep.
  #6 (permalink)  
Old 07-05-2009
summer_cherry summer_cherry is offline Forum Advisor  
Usuário
  
 

Join Date: Jun 2007
Localização: Beijing China
Mensagens: 1.088
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
Reply

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 02:01.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0