/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/
あなたの望むことをします。