【发布时间】:2020-06-04 05:03:04
【问题描述】:
又是我的新手,文件和文件夹乱七八糟(感谢我们的生物学家):我得到了这个目录,其中包含大量 .txt 文件(~900,000+),所有文件以前都以不一致的命名方式提交格式:(
例如,目录中的杂乱文件如下所示:
ctrl_S978765_uns_dummy_00_none.txt
ctrl_S978765_3S_Cookie_00_none.txt
S59607_3S_goody_3M_V10.txt
ctrlnuc30-100_S3245678_DMSO_00_none.txt
ctrlRAP_S0846567_3S_Dex_none.txt
S6498432_2S_Fulra_30mM_V100.txt
.....
如您所见,命名没有可靠的一致性。对我来说重要的是嵌入其中的 ID 代码,例如 S978765。现在我得到了我想要的这些 ID 代码的列表(100 个 ID 代码)。
包含以下列表的 CSV 文件,请注意,由于第二列中的 CLnumber 值不同,该列表在行中确实有重复的 ID 代码:
ID code CLnumber
S978765 1
S978765 2
S306223 1
S897458 1
S514486 2
....
所以我想完成以下任务:通过匹配我的列表,使用代码 ID 找到所有凌乱的命名文件。并将它们复制到一个新目录中。
我曾想过使用 list.files() 来获取所有 .txt 文件及其名称,然后我在下一步匹配代码 ID 名称时遇到了困难,我知道如何用一个字符串来做到这一点,比如说“S978765”,但如果我一个一个地做,这几乎就像手动挖文件夹一样。
如何将 column1 中的 ID 代码名称作为列表提供,并将它们与目录中凌乱的文件标题名称进行比较/匹配,然后将它们复制到新文件夹中?
非常感谢, 机器学习
【问题讨论】:
标签: r string-matching