다음 구조를 평면화하고 보관하고 싶습니다.
├── a
│ └── a.txt
├── ...
│ └── ...
└── z
└── z.txt
이 tar 아카이브에서:
a.txt
...
z.txt
예를 들어, 나는 할 수 있습니다
- 임시 위치에 구조를 편평화한
cp
후 보관합니다. - 반복적으로 아카이브를 생성하고(tar 옵션)
--append
사용--directory
- 추출 중 구조 평탄화
--strip-components
다른 똑똑한 아이디어는 없나요?
답변1
방금 발견한 내용 --transform
:
File name transformations:
--strip-components=NUMBER strip NUMBER leading components from file
names on extraction
--transform=EXPRESSION, --xform=EXPRESSION
use sed replace EXPRESSION to transform file
names
매력적인:
tar -caf archive.tar.xz --transform 's|.*/\(.*\)|\1|g' $(find . -type f)
답변2
나는 모든 것을 디렉토리에 압축을 풀고 rsync
모든 것을 디렉토리에 넣은 다음 다시 패키지했습니다.