정말 신기해요. 왜 tar 로 안 묶일까요?

에드워드의 이미지

/1/a
/b
/c

라는 디렉토리들이 있어요.

모든 디렉토리에 jsp 파일들이 있고요.

이걸 tar 로 묶으려고 /1 디렉토리에 가서 다음의 명령을 입력했어요.

/1/find . -name "*.jsp" | xargs tar cvrf a.tar

그리고 나서 a.tar 파일을 보니까.
/1 디렉토리와 /1/c 디렉토리에 있는 파일들만 묶였어요.
/1/a 나 /1/b 디렉토리에 있는 jsp 파일들은 전혀 묶이지 않았고요.

대체 왜 이럴까요?

Prentice의 이미지

GNU tar에서 c와 r등의 메인 옵션을 섞어 쓸 수 있는 건가요?

nainu의 이미지

에드워드 wrote:

/1/find . -name "*.jsp" | xargs tar cvrf a.tar

저라면 이렇게 해 보겠습니다.

tar vcf a.tar `find . -name '*.jsp' | xargs`

혹은 이렇게 해도 되겠죠

tar vcf a.tar `find | grep \.jsp$ | xargs`

find 를 사용하지 않아도 되겠습니다

tar cvf a.tar `ls -1R | grep \.jsp$ | xargs`

에드워드의 이미지

근데, 제껀 왜 안되죠?