|
藍森林 http://www.lslnet.com 2006年6月26日 11:18
請教一個grep的問題。
有一個很大的文本文件,現在需要在其中找出所有匹配"TestString"字符串的行以及該字符串後面10行的內容。請問如何實現? |
man grep
grep -A 10 "String" file |
-->
http://www.lslnet.com/linux/#forum/viewtopic.php?t=446683&highlight=wingger |
回復真快。謝謝!可是我的SCO-UNIX中grep沒有-A選項?
不知道是因為版本原因還是其它原因。可否還有其它方法實現呢?或用其它命令?
我的grep幫助只有:
grep [-E|-F] [-c|-l|-q] [-bhinsvx] [-e pattern_list] [-f pattern_file] [pattern_
list] [file...]
請DX指點。 |
我的grep可以,,不過確實第一次用-A這個參數,,不錯,,, |
-->
http://www.lslnet.com/linux/#viewthread.php?tid=624057&extra=page%3D1%26filter%3Ddigest |
-->
Dont use Sco.........
:roll:
First get the number of rows
Then print .......:em02:
Try:
[code] sed -n '/String/=' file| xargs -i awk 'NR>={} && NR<={}+10' file[/code] |
謝謝各位DX熱情指點。試試先!
謝謝各位DX熱情指點。試試先! |
如果下面10行也含有string,該如何處理,規則定清楚才能寫:mrgreen: |
-->
DX果然考慮周全。下面10行中一定不會含有要查找的string的。 |
[code] sed -n '/String/{N;N;N;N;N;N;N;N;N;p}'[/code] |
-->
這樣10行中又有string時可能會出問題 |
test my BT :mrgreen:
[code]
n=0;sed -n '/text/,$p' urfile|while read i;do echo $i;((n++));[[ $n -gt 10 ]]&&break;done[/code] |
| |