내 테스트 폴더 아래에는 세 개의 폴더가 있습니다.
Test ----> dir1, dir2, dir3
dir1, dir2 및 dir3 아래에 많은 파일이 있습니다. 파일만 압축하고 싶지만 dir1, dir2, dir3은 압축하고 싶지 않습니다.
답변1
존재하다 Test
:
pax -w's|.*/||' dir[1-3]/* | xz > file.tar.xz
경로 구성 요소가 없는 파일은 보관됩니다.
이렇게 하면 dir[1-3]/*
숨겨진 파일이 생략됩니다. 기호 링크의 경우 -s
기호 링크 대상도 다시 작성됩니다.
당신이 원한다면정기적인파일 이름에 개행 문자가 포함되어 있지 않다고 가정하면 파일이 있습니다. 다음을 수행할 수 있습니다.
find dir[1-3] -type f | pax -ws'|.*/||' | xz > file.tar.xz
파일 이름에 개행 문자가 포함될 수 있는 경우 일부 시스템에서는 다음과 같이 작성할 수 있습니다.
find dir[1-3] -type f -print0 | pax -w0s'|.*/||' | xz > file.tar.xz
find
및는 pax
표준 명령이지만 YMMV 는 아닙니다 -print0
.-0