重命名文件夹中的所有文件_向其中添加一部分

问题描述 投票:0回答:1

我在一个文件夹中有几个 MAG,命名如下。

bin.10.fa bin.14.fa bin.17.fa bin.1.fa bin.24.fa bin.27.fa bin.2.fa bin.32.fa bin.35.fa bin.3。 fa bin.44.fa bin.48.fa bin.50.fa bin.54.fa bin.7.fa

我想将其重命名为 b3_bin,x.fa,其中 x 是原始文件中的数字。

我如何在终端上执行此操作?

我尝试重命名(重命名-v's/bin.x.fa/b3_bin.x.fa /zfs/camplab/Jojy/darpa_working/drep_mags_all/b3_renamed/b3.bin.x.fa/*.x.fa)。失败了。

请帮忙。

Th

我尝试重命名(重命名-v's/bin.x.fa/b3_bin.x.fa /zfs/camplab/Jojy/darpa_working/drep_mags_all/b3_renamed/b3.bin.x.fa/*.x.fa)。它失败了。 显示正在运行,但没有输出

rename file-rename
1个回答
4
投票

要使用终端命令重命名文件,您可以使用简单的 bash 脚本或单行脚本。您还可以使用一些 python 脚本或类似的脚本,但我将在这里解释 bash 脚本。

您尝试的

rename
命令似乎语法不正确。这是使用 shell 循环更合适的方法:

  1. 导航到包含文件的目录。
  2. 运行以下命令:
    for file in bin.*.fa; do mv "$file" "${file/bin./b3_bin,}"; done
    

for file in bin.*.fa;
:此循环迭代与模式
bin.*.fa
匹配的所有文件。

do
:开始对每个文件执行的操作。

mv "$file" "${file/bin./b3_bin,}"
:此命令将 (
mv
) 每个文件移动到新名称。
${file/bin./b3_bin,}
部分使用参数扩展来代替
bin
。文件名中带有
b3_bin

done
:结束循环。

© www.soinside.com 2019 - 2024. All rights reserved.