![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
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. |
|
||||
|
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 |
|
||||
|
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
|
![]() |
| Segnalibri |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|