將相對鏈接複製為絕對鏈接

將相對鏈接複製為絕對鏈接

給定一個/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

我還嘗試了 的各種排列cp,儘管 macOS cp 沒有-s標誌。

答案1

您正在尋找realpath

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

會做你想做的事。

相關內容