2010-07-10 2 views
3

특정 기능을 선언하는 헤더를 결정하려고합니다. 함수의 사용 인스턴스를 찾으려면 grep을 사용했습니다. 이제 모든 파일에 포함 된 헤더를 찾고 싶습니다. 나는 comm utility을 알고있다. 그러나 두 개를 비교할 수만 있습니다. 개의 파일이 있습니다. 임의의 숫자 사이의 공통 줄을 찾을 수있는 유닉스 유틸리티가 있습니까? 파일 또는 필자 자신을 써야합니까? COUNT여러 파일에 공통적 인 행 찾기

답변

0
cat *.c | sort | uniq -c | grep -e '^ *COUNT #include' 

cat에 전달 된 파일의 수입니다. 이 변종을 사용하여 어떤 파일이 적어도 #include인지 확인하려면이 변형을 사용했습니다.

cat *.c | sort | uniq -c | grep -e '^ *[0-9][0-9]\+ #include' 
+0

간접적으로 포함되는 헤더를 찾을 수 없습니다 (foo.c에는 bar.h가 포함되어 있음). baz.c에는 bar.h가 포함 된 baz.h가 포함됩니다. – Borealid

+0

사실,하지만 제안 된 통신도 마찬가지입니다. 엄격한 평등에 의존하고 다른 헤더를 포함한 헤더를 무시하기 위해서는 라이센스로 사용했습니다. 어떤 도움이 없다면 공백이나 주석의 불일치로 인해 'uniq -c'가 나올 수도 있습니다. – drawnonward