2016-11-15 1 views

답변

3

어떻게 같은 약 :이 쉘 globs와 대신 정규 표현식 것을

* //Ignore everything 

!*[!0-9.]* //Except things with some characters besides numbers (and period, for decimals) in them 
!*.*.* //And except things with two periods, since these can't be numbers 

참고.

+0

나는 여러분이'! * [^ 0-9.] *' – jthill

+0

을 의미한다고 생각합니다. 아니오, 이것이 옳다고 생각합니다. 쉘 globbing은 regexes에서 사용되는'^'대신'!'를 사용합니다. 두 시스템 모두 실제로 내 시스템에서 작동하지만 POSIX는'!'는 문자 클래스를 무효화하고 '^'는 정의되지 않았다고 말합니다. [glob (7)] (http://man7.org/linux/man-pages/man7/glob.7.html) – Chris

+0

라이브 및 학습을 참조하십시오. – jthill

2

에 포함을 슬쩍하는 방법을 모른다 gitignore가 정규 표현식을 지원한다면, here과 같은 정규 표현식을 사용할 수도 있습니다.

그러나, 공식 자식 문서 here에서 : 그렇지 않으면

, 힘내으로 fnmatch에 의해 소비에 적합한 쉘 글로브로 패턴을 취급 (3) FNM_PATHNAME 플래그 : 패턴에 와일드 카드가 일치하지 않습니다/경로명에. 예를 들어 "Documentation/*. html"은 "Documentation/git.html"과 일치하지만 "Documentation/ppc/ppc.html"또는 "tools/perf/Documentation/perf.html"과 일치하지는 않습니다.

정규 표현식은이 글을 쓰는 시점에서 지원되지 않으며 (2016-11-15) gitignore의 표현식은 쉘 glob 패턴으로 해석됩니다.

생성되는 임의의 폴더가 공통 상위 디렉토리를 공유하지 않고 그 이름에 공통적 인 내용이없는 경우에는 가능합니다.

.gitignore에서 사용할 수 있도록 공통 접두사 또는 접미어가있는 폴더를 생성 할 수 있습니까?

+1

안녕하세요, 귀하의 회신을 보내 주셔서 감사합니다, 그 어떤 posible 접두사와 이름을 생성하지 않습니다 becasse, 나에 의해 생성되지 않습니다, 시뮬레이션 procces의 시간 결과이며, 내가 가지고있는 동일한 디렉토리에 있습니다 시뮬레이션 구성. 나는 또한'!'을 사용하여 필요한 dir을 고치고 다른 모든 것을 피하려고했지만 작동하지 않았다. – efirvida

+1

흠, 내가 제안 할 수있는 유일한 방법은'find-type d -ctime -30s -maxdepth 1 -exec 시뮬레이션 프로세스가 실행될 때마다 echo {} >>. gitignore \;가 실행됩니다. 이것은 gitignore에 지난 30 초 동안 생성 된 디렉토리 이름을 추가해야합니다. –

+1

적어도 하나의 임시적인 해결책 이여 주셔서 감사합니다 – efirvida