The UNIX and Linux Forums  


Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
grep e visualizzare alcune righe prima e dopo melanie_pfefer SUN Solaris 13 02-19-2009 11:54 PM
grep + righe dopo Janus Shell scripting e di programmazione 4 11-03-2006 05:56 PM
grep stringa e successiva n linee ashterix Shell scripting e di programmazione 8 11-21-2005 11:38 PM
Grep su più linee gundu Shell scripting e di programmazione 13 03-25-2005 02:43 PM

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 Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 01-21-2008
airman_ole airman_ole is offline
Utente Registrato
  
 

Iscriviti Data: gennaio 2008
Interventi: 2
grep-n linee di prima e dopo

Salve,

è possibile grep un modello che include la "n" linee di prima e dopo la riga in cui il modello sono stati trovati?

ad esempio,

# questo contiene il test.file
line1
line2
Line3
Line4
Line5

poi un comando grep per cercare la parola "Line3"
e l'output dovrebbe essere 1 (o n) prima di tale linea di linea e 1 (o n), linea "dopo" tale linea.

dessired output del comando grep

line2
Line3
Line4


Grazie in anticipo.
  #2 (permalink)  
Old 01-21-2008
vino's Avatar
vino vino is offline Forum Staff  
Supporter (in vino veritas)
  
 

Iscriviti Data: febbraio 2005
Località: Bangalore, India
Messaggi: 2.798
Se avete GNU grep, allora è possibile. Da man grep


Codice:
       -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  
Moderatore
  
 

Iscriviti Data: ottobre 2003
Ubicazione: -31.96,115.84
Messaggi: 1.409
grep e visualizzare alcune righe prima e dopo
  #4 (permalink)  
Old 07-03-2009
Sumedha Sobti Sumedha Sobti is offline
Utente Registrato
  
 

Iscriviti Data: luglio 2009
Località: India
Interventi: 9
Salve,

Vi è un modo molto semplice di fare questo. Diciamo che avete un file prova.txt aver 'vista' in qualche riga. Dire, che si desidera ottenere 5 linee sopra e sotto la riga che contiene 'fine' e l'output a un file dire test_one.txt utilizzare il seguente:

grep-C 5 "vista" prova.txt> test_one.txt

Saluti,
Sumedha
  #5 (permalink)  
Old 07-03-2009
Jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Iscriviti Data: febbraio 2004
Ubicazione: MN
Messaggi: 5.800
Si prega di notare che molti di questi esempi funzionano solo con GNU strumenti, non tutte le versioni di grep.
  #6 (permalink)  
Old 07-05-2009
summer_cherry summer_cherry is offline Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: giugno 2007
Ubicazione: Pechino Cina
Messaggi: 1.092
speranza al di sotto perl può aiutare alcuni


Codice:
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

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 02:18 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0