외장 하드 드라이브에 여러 개의 폴더가 있는데 그 중 일부를 복사하고 싶습니다. 이러한 폴더의 구조는 다음과 같습니다.
A001A
A003A
A004A
etc...
...모든 폴더에는 다음과 같은 유사한 디렉터리가 포함되어 있습니다.
HHZ
HH1
HH2
LHZ
LH1
LH2
모든 디렉터리(A001A, A002A...)와 하위 디렉터리(HHZ, HH1, HH2)를 복사해야 하지만 H로 시작하는 디렉터리(및 그 안의 모든 파일)만 복사해야 합니다.
어떻게 해야 하나요?
답변1
이렇게 하면 트릭을 수행할 수 있습니다(현재 폴더의 모든 디렉터리가 A*** 디렉터리라고 가정).
cp -r --parents */H* destination/
destination/
당연히 이를 실제 목표로 바꿔야 합니다 .
답변2
pax
해당 -0
옵션(및 find
조건자 -print0
) 을 지원하는 경우 :
find . -path '*/H*' -print0 | pax -0rwpe /dest/dir/
/H
해당 경로의 모든 파일과 디렉터리가 복사됩니다.
그렇지 않지만 파일 경로에 개행 문자가 포함되어 있지 않다고 보장할 수 있는 경우 0
위 명령에서 두 s를 제거할 수 있습니다.