상대 링크를 절대 링크로 복사

상대 링크를 절대 링크로 복사

/path/to/files라인을 따라 많은 상대 링크가 포함된 디렉토리가 있는 경우 foo -> ../other/data/foo링크를 files/절대 경로 링크로 복사하려면 어떻게 해야 합니까?/mydata/path/

나는 사용한다고 생각했다

ls -s $(readlink /path/to/files/*) /mydata/path/

그렇게 하겠지만 이전 위치의 상대 경로를 복제하는 새 위치의 상대 경로를 만듭니다. 이는 모든 링크가 아무 것도 가리키지 않음을 의미합니다.

내가 필요한 것은 다음과 같이 끝나는 것입니다.

/path/to/files/foo -> ../other/data/foo
/mydata/path/foo -> /path/to/other/data/foo

내가 실제로 끝내는 것은

/path/to/files/foo -> ../other/data/foo
/mydata/path/foo -> ../other/data/foo # broken link

cpmacOS cp에는 플래그가 없지만 의 다양한 순열도 시도했습니다 -s.

답변1

당신이 찾고있는 realpath:

ls -s $(realpath /path/to/files/*) /mydata/path/

당신이 원하는 것을 할 것입니다.

관련 정보