0

我有一整套由指向其他文件的符号链接组成的目录(最初记录在mythtv - 通过mythlinks 创建的符号链接)。我的神话数据库死了,但由于神话链接,我仍然可以找出哪个文件是哪个文件。

我想(如果可能,批量)将符号链接的目标文件重命名为符号链接的名称,即:

3 月 27 日 22:12 GreatFilm.mpg -> 123.mpg

3 月 27 日 22:12 GreaterFilm.mpg -> 456.mpg

这样目标文件将分别是 GreatFilm.mpg 和 GreaterFilm.mpg。

有人可以帮忙吗?

谢谢您的帮助

仅供参考,在我的 ubuntu 17.10 上,重命名命令没有选项 -s / --symlink

4

1 回答 1

1

使用

find . -type l -name '*.mpg' -exec bash -c '
    d=$(readlink "$1")
    echo unlink "$1"
    echo mv "$d" "$1"
' -- {} \;

echo当输出看起来不错时删除 2 个命令

或使用

find . -type l -name '*.mpg' -exec bash -c '
    echo unlink "$1"
    rename -n 's/(.*)/readlink $1/e "$1"
' -- {} \;

删除echo命令和-n输出看起来不错的时候

于 2018-03-27T21:42:51.890 回答