두 디렉토리를 복사하지 않고 병합하는 방법은 무엇입니까? [복사]

두 디렉토리를 복사하지 않고 병합하는 방법은 무엇입니까? [복사]

나는 가지고있다:

$ find 1 2 -printf '%i %p\n'
40011805 1
40011450 1/t
40011923 1/a
40014006 1/a/e
40011217 1/a/q
40011806 2
40011458 2/y
40011924 2/a
40013989 2/a/e
40013945 2/a/w

제 생각에는:

<inode>  <path>
any      2
40011450 2/t
40011458 2/y
any      2/a
40014006 2/a/e
40011217 2/a/q
40013945 2/a/w

어떻게?

답변1

이미 답변함.

이 작업에 적합한 버전은 다음과 같습니다.

D=$(readlink -f "2"); (cd "1" && find . -type f -print0 | cpio --pass-through --null --link --make-directories "$D") && rm -Rf 1

이 명령을 실행하면 원하는 결과를 얻을 수 있습니다.

$ find 1 2 -printf '%i %p\n'
find: `1': No such file or directory
40011806 2
40011450 2/t
40011458 2/y
40011924 2/a
40011217 2/a/q
40014006 2/a/e
40013945 2/a/w

원래 답변(위 링크)에서 사용법에 대한 참고 사항을 읽어보세요.

관련 정보