The UNIX and Linux Forums  
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.

Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
grep und zeigt einige Zeilen vor und nach melanie_pfefer SUN Solaris 13 02-19-2009 11:54 PM
grep + Linien nach Janus Shell Programmierung und Scripting 4 11-03-2006 05:56 PM
grep string & nächsten n Zeilen ashterix Shell Programmierung und Scripting 8 11-21-2005 11:38 PM
Grep über mehrere Zeilen gundu Shell Programmierung und Scripting 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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 01-21-2008
airman_ole airman_ole is offline
Registrierte Nutzer
  
 

Join Date: Jan 2008
Beiträge: 2
grep-n Zeilen vor und nach

Hi,

Ist es möglich, grep ein Muster, das die "n"-Zeilen vor und nach der Zeile, wo das Muster gefunden wurden?

z. B.

# Diese enthält die test.file
line1
line2
Linie 3
Line4
line5

dann ein grep-Kommando für die Suche das Wort "Linie 3"
und die Ausgabe sollte 1 (oder n) Zeile vor, dass Linien-und 1 (oder n) Zeile "nach" dieser Linie.

dessired Ausgabe des grep Befehls

line2
Linie 3
Line4


Vielen Dank im Voraus.
  #2 (permalink)  
Old 01-21-2008
vino's Avatar
vino vino is offline Forum Staff  
Supporter (in vino veritas)
  
 

Join Date: Feb 2005
Ort: Bangalore, Indien
Posts: 2798
Wenn Sie GNU grep, dann ist es möglich. Von Mann grep

Code:
       -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  
Moderator
  
 

Join Date: Oct 2003
Lage: -31.96,115.84
Posts: 1409
grep und zeigt einige Zeilen vor und nach
  #4 (permalink)  
Old 07-03-2009
Sumedha Sobti Sumedha Sobti is offline
Registrierte Nutzer
  
 

Join Date: Jul 2009
Ort: Indien
Beiträge: 9
Hi,

Es ist eine sehr einfache Art und Weise, dies zu tun. Sie haben eine Datei test.txt mit "Blick" in line. Sprich, Sie möchten 5 Zeilen über und unter der Zeile mit "Ansicht" und Ausgabe in einer Datei zu sagen, test_one.txt Verwenden Sie die folgenden:

grep-C-5 "Ansicht" test.txt> test_one.txt

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

Join Date: Feb 2004
Ort: NM
Posts: 5759
Bitte beachten Sie, dass eine Menge von diesen Beispielen nur mit GNU Werkzeuge, die nicht alle Versionen von grep.
  #6 (permalink)  
Old 07-05-2009
summer_cherry summer_cherry is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Jun 2007
Ort: Peking, China
Posts: 1088
hoffe, dass unter perl kann Ihnen dabei helfen, einige

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

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 07:15 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0