아래 디렉토리 트리를 예로 들면, directory/folderA
콘텐츠를 directory
.
동일한 이름의 파일이 대상에 존재하는 경우 파일을 덮어쓰는 방법(예: directory/folderA/2017/06/info.log
및 directory/2017/06/info.log
)
directory
|-- folderA
| |-- 2017
| | |-- 06
| |
| |-- 2016
| | |-- 12
| | |-- 11
| | |-- 10
|
|-- 2017
| |-- 04
| |-- 05
| |-- 06
|
|-- 2016
| |
답변1
그것은 마치 rsync -a --remove-source-files src/ dest
? 간단한 테스트는 존재 dest
하지만 존재하지 않는 모든 것이 src
보존된다는 것을 보여줍니다. (후행 슬래시 에 유의하세요 src
. 여기서는 필수입니다.)
더 많이 저장하면 해당 파일 --ignore-existing
이 .dest
src
src
--remove-source-files
일반적으로 말하자면, rsync
다양한 옵션을 갖춘 매우 강력한 도구입니다. (그리고 비례적으로 약간의 학습 곡선이 있습니다...여기 상황은 꽤 단순해 보이지만.) 누구든지 rsync
.
답변2
tar -cv /parent_folder/subfolder/* -f - I tar -xv --overwrite /parent_folder/
tar를 사용하여 전체 디렉토리를 압축하고 상위 폴더에서 unar로 파이핑하는 것이 아마도 가장 좋은 옵션일 것입니다(bzip을 통해 tar 파일을 필터링하려면 파이프 앞뒤에 -j를 추가하십시오).
--overwrite: tar 파일에서 추출한 파일로 기존 파일을 덮어씁니다.