日期:2014-05-16  浏览次数:20720 次

grep在Linux与Unix下的区别
通过grep可以在指定的文本中将某个字符串给我搜出来,并且将其上下指定行数也给查询出来,如下:
grep -10 '15130fe9-8514-4fdc-ab20-38746b0068ad' server01.log >abc.xml

在Linux下可以执行没有问题, 但是在UNIX下执行有问题;
在UNIX下只能是 
 grep '15130fe9-8514-4fdc-ab20-38746b0068ad' server01.log >abc.xml

如何在Unix下将之前字符串的上下N行给搜出来,谢谢大拿们;
------解决方案--------------------
unix 上 grep 没有 -A -B -C 选项吗?
------解决方案--------------------
uname -a

把结果贴出来看看
------解决方案--------------------
man grep慢慢看!
------解决方案--------------------
引用:
错了 应该把unix 粘出来

算了,不等你啦。
如果是Solaris,试试/usr/xpg4/bin/grep
如果是HP-UX或者AIX,那就不要指望grep了,一般是用sed/awk来搞定。
------解决方案--------------------
sed我不是很会用,这样试试行不行
sed -n '/15130fe9-8514-4fdc-ab20-38746b0068ad/=' server01.log

抓到行数
然后根据这个行数比如说n,你要找之前10行之后10行的,令p=n-10,1=n+10
sed -n "${p},${q}p server01.log"