シンボリック リンクをリンク先のファイルのコピーに置き換えるにはどうすればよいでしょうか?

シンボリック リンクをリンク先のファイルのコピーに置き換えるにはどうすればよいでしょうか?

シンボリックリンク(単一の、バッチファイルシステム処理は不要)がある場合、それをリンク先のファイルのコピーに置き換えるにはどのようなコマンドラインを使用すればよいでしょうか?

答え1

cp --remove-destination "$(readlink <symlink>)" <symlink>

答え2

次のようにすることができます:

file=path/to/symlink
{ rm -f -- "$file" && cat > "$file"; } < "$file"

(コンテンツのみがコピーされ、権限や所有権などのファイルのメタデータはコピーされません)。

関連情報