【问题标题】:Simultaneously renaming multiple files with different names同时重命名多个不同名称的文件
【发布时间】:2017-06-23 12:44:01
【问题描述】:

我有大约 150 个具有相同 .txt 扩展名的文件,但文件名只是字母数字字符串(例如 7J9E45600.txt、FF5632088.txt 等)。我有一个列表,其中字母数字字符串与更有意义的名称匹配。我想用有意义的名称替换这些字母数字字符串,但想以编程方式进行。大多数现有的解决方案都允许重命名多个文件以递增的数字,例如通过循环命令,但在我的情况下,所有文件名都会不同。我想做的一个例子如下:将 7J9E45600.txt 重命名为 adipose.txt,将 FF5632088.txt 重命名为 Brain.txt,等等。使用 Linux、R、Perl 或 Python 的解决方案是最受欢迎的。

【问题讨论】:

  • 请不要指望有人会给你一个完整的解决方案。这个问题太笼统了。你试过什么,显示你到目前为止的代码。你遇到了什么错误...
  • 提示:编写一个循环遍历要重命名的文件的脚本,为每个文件提取名称,并在您提到的列表中查找该名称;如果找到,重命名 - 如果没有找到,则发出错误信号。

标签: linux rename filenames


【解决方案1】:

是的,这很容易通过 R 中的 for 循环来实现。

使用一列旧名称和一列包含新名称的匹配列来制作或读取您的数据。我复制了一个包含四个文件的示例。

旧名称

新名称

testnames_df

for (i in 1:4) {file.rename(from=testnames_df$oldnames[i], to = testnames_df$newnames[i])}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-14
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 2011-01-27
    • 2012-12-11
    • 2018-12-28
    • 1970-01-01
    相关资源
    最近更新 更多