2011-06-13 4 views
1

48 시간 이상을 구문 분석 할 ASCII 파일이 있습니다. 나는 그것들을 그렇게 식별 할 수있다.Grep : 조회수가 없을 때 사용자 메시지를 반환합니다.

find . -name "FILE*TXT" -mtime +1 -exec ls -ltas '{}' ';' 

일부 파일에는 하드웨어 오류 목록 (전자 부품 테스트)이 있고 일부에는 하드웨어 오류 목록이있다. 파일 이름에 오류가없는 경우, ... 어떻게 여전히

grep ^err R*VER && echo "No error" 
FILEA.TXT:err ->USB 3910 err 
FILED.TXT:err No Error 

이 그렙 문 작품과 같은 메시지를 표시하려면하지만 겉으로는 내가 모두 동시에 실행하면 위의 발견() 문을 무시 나는 오류없이 파일 이름으로 "아니오 오류"돌아 오지 너무

FILEA.TXT Button 3320 err 
FILEB.TXT USB 3235 err 
FILEC.TXT IR Remote 2436 err 
FILED.TXT No error 

같은 파일 이름 및 오류 (들)을 나열가 가능 보고서를 작성하기 위해 두 문장을 결합 할 수 있습니다? 귀하의 도움에 미리 감사드립니다.

답변

0

친구는 내가 각 파일에 대해 그렙을 실행하는 방법을 알아낼 수없는이

find . -name "FILE*TXT" -mtime +1 -exec sh -c 'grep -H ^err "{}" || echo "{}:No error"' \; 

함께했다; 그의 해결책은 정확히 그것을합니다.

시간을내어 주셔서 감사합니다.

6

술어는 명령이 실패를 리턴하면 false를 리턴합니다.

find ... \(-exec grep ... {} \; -o -printf "%p No error\n" \) ... 
+0

+1. 내가 매뉴얼에서 볼 수있는 것보다 더 빨리 대답했다 :-) –

관련 문제