【问题标题】:Batch rename target of symlinks to name of symlink将符号链接的目标批量重命名为符号链接的名称
【发布时间】:2018-09-06 10:21:05
【问题描述】:

我有一整套由指向其他文件的符号链接组成的目录(最初记录在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

【问题讨论】:

  • 您使用什么编程语言?你试过什么?

标签: rename batch-processing symlink batch-rename ubuntu-17.10


【解决方案1】:

使用

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

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

或使用

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-04
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    • 2017-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多