元のファイルでシンボリックリンクを上書きする

元のファイルでシンボリックリンクを上書きする

次のようないくつかのシンボリックリンクファイルを含むディレクトリがあります。

/home/user/symlink/$(*symlink_file_name1*).mkv
/home/user/symlink/$(*symlink_file_name2*).mkv

ソースファイル(シンボリックリンクファイル)を含む他のディレクトリがあります。

/home/user/original/$(*original_file_name1*).mkv
/home/user/original/$(*original_file_name2*).mkv

したがって、問題は.mkvすべてのファイルを/home/user/symlink/元のファイルに「変換」しますが、ファイル名は同じです。

シンボリックリンクフォルダにすべてのソースファイルとその名前が必要です

symlink name $(*symlink_file_name*)

/home/user/original/$original_file_name1.mkvそれでは、引越しや/home/user/symlink/$(symlink_file_name1).mkvそのような場所に行くことができますか?

ベストアンサー1

GNUを使用してreadlink元のファイル名へのシンボリックリンクを確認します。

まず、ディレクトリ設定をまねました。

$ mkdir original "symlink dir"
$ touch original/file1 original/file2
$ cd "symlink dir"/
$ ln -s ../original/file1 link1
$ ln -s ../original/file2 link2
$ cd ..

次にファイルをコピーします。

$ for link in "./symlink dir"/*; do
> orig="$(readlink -f "$link")"
> rm "$link"
> cp -v "$orig" "$link"
> done
‘/home/user/original/file1’ -> ‘./symlink dir/link1’
‘/home/user/original/file2’ -> ‘./symlink dir/link2’

おすすめ記事