2013-10-09 6 views

risposta

89

desiderato:

grep -A 5 '19:55' file 

Da man grep:

Context Line Control 

-A NUM, --after-context=NUM 

Print NUM lines of trailing context after matching lines. 
Places a line containing a gup separator (described under --group-separator) 
between contiguous groups of matches. With the -o or --only-matching 
option, this has no effect and a warning is given. 

-B NUM, --before-context=NUM 

Print NUM lines of leading context before matching lines. 
Places a line containing a group separator (described under --group-separator) 
between contiguous groups of matches. With the -o or --only-matching 
option, this has no effect and a warning is given. 

-C NUM, -NUM, --context=NUM 

Print NUM lines of output context. Places a line containing a group separator 
(described under --group-separator) between contiguous groups of matches. 
With the -o or --only-matching option, this has no effect and a warning 
is given. 

--group-separator=SEP 

Use SEP as a group separator. By default SEP is double hyphen (--). 

--no-group-separator 

Use empty string as a group separator. 
2

Alcuni awk versione.

awk '/19:55/{c=5} c-->0' 
awk '/19:55/{c=5} c && c--' 
1

Ecco una soluzione sed:

sed '/19:55/{ 
N 
N 
N 
N 
N 
s/\n/ /g 
}' file.txt 
Problemi correlati