gpt4 book ai didi

linux - 用于批量重命名文件夹中文件的 Shell/Bash 快捷方式

转载 作者:IT老高 更新时间:2023-10-28 12:34:49 29 4
gpt4 key购买 nike

Shell/Bash 中是否有可以根据正则表达式或其他条件重命名文件夹中所有文件的快捷方式。我在这里寻找的是在我的文件夹文档中,假设有 100 个具有以下命名约定的文本文件:

<longdocumentidentifier>-doc-<counter>.txt.

我需要将所有具有上述约定的文件重命名为:

doc-<counter>.txt

有没有可以帮助我解决上述问题的单行符?

最佳答案

我会建议这样的事情:

for i in *-doc-*.txt; do mv "$i" "${i/*-doc-/doc-}"; done

${i/*-doc-/doc-} 将第一次出现的 *-doc- 替换为 doc-

如果您需要进行多个替换(请参阅注释编号 1),则需要使用 ${var//Pattern/Replacement} 变体。如果需要替换名称的开头需要使用${var/#Pattern/Replacement},如果需要替换结尾(即:扩展名)需要使用${var/%Pattern/Replacement} 形式。

Shell Parameter Expansion更多细节。这种扩展是特定于 bash 的。

关于linux - 用于批量重命名文件夹中文件的 Shell/Bash 快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8416990/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com