【问题标题】:Renaming files: changing重命名文件:更改
【发布时间】:2018-11-19 00:54:38
【问题描述】:

问题

给定一个目录,其中包含大量使用分隔符的文件,此处为-,如何将它们全部更改为使用另一个分隔符,例如=

示例

run-script-one.shrun=script=one.sh

build-object-a.shbuild=object=a.sh

load-file-alpha.shload=file=alpha.sh

【问题讨论】:

    标签: bash pattern-matching file-rename batch-rename mv


    【解决方案1】:

    使用prename(Perl 的独立重命名命令):

    prename -n 's/-/=/g' *.sh
    

    输出:

    build-object-a.sh 重命名为 build=object=a.sh load-file-alpha.sh 重命名为 load=file=alpha.sh run-script-one.sh 重命名为 run=script=one.sh

    如果一切正常,请删除 -n(无操作选项)。


    如果prename 不可用:

    for i in *.sh; do echo mv -v "$i" "${i//-/=}"; done
    

    如果一切正常,请删除 echo

    【讨论】:

    • @dantopa 您使用的是哪个操作系统?
    • @dantopa: for i in *.sh; do echo mv -v "$i" "${i//-/=}"; done 如果一切正常,请删除 echo
    • @Cyrus,你为什么不回答这个问题?
    • @Cyrus:非常优雅。感谢您的额外努力。
    猜你喜欢
    • 2021-02-04
    • 2013-10-06
    • 2013-11-01
    • 2016-05-09
    • 2011-12-31
    • 2019-04-19
    • 1970-01-01
    • 2012-04-04
    • 1970-01-01
    相关资源
    最近更新 更多