2012-05-03 3 views
1

AIX를 사용하고 있는데 "파이프에 쓰여진 데이터를 읽는 프로세스가 없습니다"라는 문자열이 있습니다. 이 문자열 앞에 출력을 2 줄 앞뒤로 4 줄 가져 오려고합니다. ,이 문자열을 로그의 마지막 결과 문자열은 로그에 100 개 이상의 배와 같은 존재와 내가 출력하고자aix : 문자열 앞뒤에 줄을 가져옵니다.

나는 사용하여 시도 :

nawk 'c-->0;$0~s{if(b)for(c=b+1;c>1;c--)print r[(NR-c+1)%b];print;c=a}b{r[NR%b]=$0}' b=2 a=4 s="There is no process to read data written to a pipe" File.log 

이 명령의 출력은이다 위의 문자열이 -A 수 -B 번호 명령은 AIX

작동하지 않습니다 당신은 GNU 그렙 (grep)을 사용할 수있는 경우

답변

0

, 당신은 AWK 대신 사용할 수 있습니다

존재하는 곳에 나는 모든 100 개을 더한 결과를 얻고있다 :

grep -B 2 -A 4 "There is no process to read data written to a pipe" File.log 
+0

GNU grep을 사용할 수 없습니다. – user1292831

+0

대답은 다음과 같습니다. | 꼬리 번호 – user1292831