tar 파일(주어진 패턴을 가진 파일 제외)

tar 파일(주어진 패턴을 가진 파일 제외)

나는 다음과 같은 디렉터리 구조를 가지고 있습니다(여기에 제공된 모든 이름은 디렉터리이며 모두 파일과 하위 디렉터리를 포함합니다).

a
a/a, a/b, a/c, ..., a/x, a/y, a/z
a/a/a, a/a/b, a/a/c, ..., a/a/x, a/a/y, a/a/z
a/b/a, a/b/b, a/b/c, ..., a/b/x, a/b/y, a/b/z
...
a/x/a, a/x/b, a/x/c, ..., a/x/x, a/x/y, a/x/z

이 문자는 설명용일 뿐이며 실제 이름은 아닙니다. 또한 깊이는 최대 10개의 하위 디렉터리까지 가변적입니다.

나는 디렉토리에서 전체 트리를 tar하고 싶지만 그 아래 의 모든 a것을 제외 x하고 싶습니다.a/xa/a/xa/b/x

사용을 고려하고 있는데 findgrep -v쉬운 방법이 있는지 궁금합니다.

답변1

--exclude@Kusalananda의 의견 덕분에 GNU tar에서 제공되는 옵션을 사용할 수 있습니다 .

지정된 디렉터리 아래의 모든 항목을 제외하려면 x(디렉터리 자체는 제외):

tar cf a.tar --exclude='x/*' a

디렉터리 x와 그 아래의 모든 항목을 제외하려면(단, 지정된 일반 파일도 제외된다는 점에 유의하세요 x):

tar cf a.tar --exclude='x' a

관련 정보