繁体   English   中英

如何以特定格式重命名文件夹中的多个文件? perl 语法解释 [重复]

how to rename multiple files in a folder with a specific format? perl syntax explanation [duplicate]

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我之前问过一个类似的问题,但需要帮助来理解实现重命名过程的 Perl 命令。 我的文件夹中有很多文件,格式为“{galaxyID}-psf-calexp-pdr2_wide-HSC-I-{#}-{#}-{#}.fits”。 以下是一些示例:

7-psf-calexp-pdr2_wide-HSC-I-9608-7,2-205.41092-0.41487.fits
50-psf-calexp-pdr2_wide-HSC-I-9332-6,8-156.64674--0.03277.fits
124-psf-calexp-pdr2_wide-HSC-I-9323-4,3-143.73514--0.84442.fits

我想重命名目录中的所有 .fits 文件以匹配以下格式:

7-HSC-I-psf.fits
50-HSC-I-psf.fits
124-HSC-I-psf.fits

即,我想删除“psf-calexp-pdr2_wide”,“HSC-I”之后的所有数字,并在每个文件的末尾添加“-psf”到HSC-I之后。 我尝试了以下命令:

rename -n -e 's/-/-\d+-calexp-/-\d+pdr2_wide; /-/-//' *.fits

这给了我错误消息:参数列表太长。 你可能会说我不懂 Perl 语法。 提前致谢!

1 个回复

首先, Argument list too long不是来自perl 它来自 shell,因为你有太多的文件*.fits扩展到太长的东西。

要解决此问题,请使用

# GNU
find . -maxdepth 1 -name '*.fits' -exec rename ... {} +
# Non-GNU
find . -maxdepth 1 -name '*.fits' -print0 | xargs -0 rename ...

但是您的 Perl 代码也不正确。 所有你需要的是

s/^(\d+).*/$1-HSC-I-psf.fits/

也可以写成

s/^\d+\K.*/-HSC-I-psf.fits/
1 如何以特定格式重命名文件夹中的多个文件?

我在一个文件夹中有很多文件,格式为“{galaxyID}-cutout-HSC-I-{#}-pdr2_wide.fits”,其中 {galaxyID} 和 {#} 是每个文件的不同数字。 这里有些例子: 我想更改此文件夹中所有文件的格式以匹配以下内容: 即,我想从每个文件名中取出“cutou ...

2 在Python中按特定格式重命名子文件夹中的文件

我有一个包含很多子文件夹的文件夹。 每个子文件夹都有不同类型的图像文件。 我正在尝试通过特定格式重命名这些文件。 数据如下所示: 所需的输出: 到目前为止,我已经尝试了下面的代码,但是没有成功。 ...

4 使用Perl重命名多个文件夹

我有一个文本文件file.txt,其中逐行包含100个单词。 我需要为file.txt中的这些单词创建100个目录。 每个目录名称应与一行中的每个单词匹配。 我需要使用perl创建代码以进行上述查询。 我尝试如下: ...

7 重命名多个文件夹中的多个文件

所以我有很多具有特定名称的文件夹。 在每个文件夹中我有+200项。 文件夹中的项目名称如下: 还有一些沿着这种风格。 我现在希望重命名所有文件夹中的所有文件,以便将数字(34562346)替换为文件夹的名称。 因此,例如在名为“1”的文件夹中,里面的文件应该变为: 所 ...

2017-08-15 17:07:23 3 617   python
8 根据特定格式在文件夹和子文件夹中的批次列表文件

我有一个问题,是否可以制作一个读取目录和子目录并将结果以特定格式输出到.txt文件的批处理文件? 我知道如何读取包括子目录等的目录。但是我不知道的是我如何对.txt文件使用特定格式。 我有的例子 在那些文件夹中,我有一些文件,我需要的是输出将是这样的 等等 亲切 ...

9 使用特定格式的python重命名文件

我正在尝试以0001、0002、0010、0100等格式重命名一个文件夹中的文件。我对python非常陌生,因此很抱歉提出这样的基本要求。 我到处搜索,遇到的大多数代码都会重命名文件(不是我想要的名称)或去除某些字符。 我还遇到了使用额外模块(glob)的代码,这些代码只会让我走得更远。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM