2009-08-28 9 views
0

tree에서 노드를 어떻게 제한 할 수 있습니까?트리 또는 Git으로 노드를`tree`에서 제한하려면

# 1

나는 내 프로젝트의 나무가 내 상사에 대한 reqularly 파일을 제공해야합니다. 이 파일에는 트리에 표시하지 않으려는 제 3 자 구성 요소가 포함되어 있습니다. 프로젝트 파일을 tmp로 복사하고 타사 파일을 제거한 다음 tree을 실행하여이 문제를 해결했습니다.

그러나이 절차는 번거로워집니다. 내 파일 트리를 내 상사에게 줄 수있는 더 좋은 방법을 원합니다. 2

# 나는 내가 그렇게 망할 놈의이 문제를 해결할 수 있습니다 망할 놈에 표시 할 파일이 있습니다. I 당신은 타사 도구를 넣을 수 있습니다 실패

git ls-files --with-tree 

답변

1

일치시킬 파일을 지정하고 일반적인 패턴 사용을 피할 수 있습니다.

-P 패턴 목록 와일드 카드 패턴과 일치하는 파일 만 다음 treemanpage에서. 주 : 도트 '.'로 시작하는 파일을 고려하려면 -a 옵션을 사용해야합니다. 일치시키기. 유효한 와일드 카드 연산자는 '*'(0 이상의 문자), '?' (예 : [AZ]) 및 '[^ ...]'(대문자와 소문자 사이에 나열된 임의의 단일 문자) 단일하지 괄호에 나열된 문자) 및 '|'는 다른 패턴을 구분하는 특정 경우

-I 와일드 카드 패턴과 일치하는 파일을 나열하지 마십시오 패턴

,

를 실행..
tree -I '3rd*' 

은 서브 디렉토리와 파일을 포함하여 '3rd_party'라는 디렉토리를 숨기고 'pa rty_3rd '. 분명히 이름에 '3rd'를 포함하지 않는 다른 파일과 디렉토리도 정상적으로 표시됩니다. Linux에서 트리 v1.5.2.1을 사용하여이 동작을 확인했습니다.

+0

다음과 같은 '의사 코드'와 일치하는 파일 트리를 갖고 있기 때문에 충분하지 않습니다. ** tree^3rd **. 그것은 3 번째로 시작하는 파일 또는 폴더 이외의 다른 모든 항목과 일치합니다. –

+0

이 작품은 나를 위해 : tree -I '3rd *'. "3rd_party"라는 디렉토리를 표시하지 않지만 "party_3rd"및 기타 파일을 표시합니다. 네가 원하는 걸 정확하게하는 것처럼 보였다. –

0

운영하는 별도의 하위 디렉토리입니다.

그러면 하나의 노드 만 제거하면됩니다.

0

tree 명령을 변경하는 대신 타사 파일을 자신의 하위 폴더가 아닌 형제 폴더에 배치하는 것이 좋습니다.

관련 문제