将特定文件从多个子目录复制到 R 中的单个文件夹中

2023-12-09

假设我有 3 个文件夹,每个文件夹中都有大量文件,我只想从每个子目录中选择几个文件,然后仅将这些文件粘贴到新文件夹中。 让我们调用这 3 个文件夹:

  • 桌面/目录/sub_11s_gi01_ab
  • 桌面/目录/sub_11f_gi01_b
  • 桌面/目录/sub_12s_gi02_ms

需要复制的文件扩展名为“.wang.tax.sum”

所有其他文件都无法复制然后删除,因为这需要几天时间。

从其他问题来看,我可以将所有文件合并到一个列表中并复制所有文件,但我不知道如何仅复制以 .wang.tax.sum 结尾的文件
我可以使用 grep 函数获取要传输的文件列表,但不确定如何将该子目录中的文件列表复制到新文件夹。 这是我到目前为止所拥有的,但不起作用。

parent.folder <- "C:/Desktop/dir"
my_dirs <- list.files(path = parent.folder, full.names = T, recursive = T, include.dirs = T)

##this does not work##
a <- grep("wang.tax.sum",my_dirs)
my_dirs <- my_dirs[a]

files <- sapply(my_dirs, list.files, full.names = T)

dir.create("taxsum", recursive = T)

for(file in files) {
  file.copy(file, "taxsum")
}

我知道 grep 在这里不起作用,但我不确定如何创建一个仅选择我想要的文件并将它们复制到单个文件夹的函数。我总共有大约 50 个子文件夹,每个子文件夹大约有 1GB 的数据,因此,复制所有数据然后删除我不想要的数据并不是一种选择。任何帮助是极大的赞赏


parent.folder <- "C:/Desktop/dir"
files <- list.files(path = parent.folder, full.names = T, recursive = T, include.dirs = T)

之后您需要选择相关文件:

files <- files[grep("wang\\.tax\\.sum", files)]

(注意点之前的双转义:\\.- 点对于 grep 有特殊含义。)

或者你可以这样做pattern一步完成 list.files 的参数:

files <- list.files(path = parent.folder, full.names = T, recursive = T, include.dirs = T, pattern = "wang\\.tax\\.sum")

创建新目录:

dir.create("taxsum", recursive = T)

现在您需要创建新文件名:

newnames <- paste0("taxsum/", gsub("/|:", "_", files))
# replace "special" characters with underscore
# so that your file names will be different and contain the 
# original path

# alternatively, if you know that file names will be different:
newnames <- paste0("taxsum/", basename(files))

现在你可以使用mapply复制(同样可以用for需要一点额外的努力):

mapply(file.copy, from=files, to=newnames)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将特定文件从多个子目录复制到 R 中的单个文件夹中 的相关文章

随机推荐

  • 读取大文本文件中的行数 VB6

    我有大小为 230MB 的文本文件 我想计算该文件的行数 我试过 Scripting FileSystemOblect 但它已经从记忆中消失了 请帮忙 Thanks 正常的 Windows 换行符是 CRLF 因此您可以对 LF 进行计数
  • Reactor 和 Webflux 中的 Mono 链超时算子到底测量了什么?

    我正在使用 Spring Webflux 并试图理解 Monos 链的超时概念 例如 有一系列 Mono 调用 myService firstOperation then myService secondOperation then myS
  • 目标 C:下载带进度条的文件 [重复]

    这个问题在这里已经有答案了 我正在尝试放置一个在下载过程中同步的进度条 我的应用程序现在可以使用此代码下载文件 pdfData NSData alloc initWithContentsOfURL NSURL URLWithString h
  • HLS 流无法在 Apple 设备上运行

    我有一个实时 RTSP 流 我已设法通过 VLC 将其转码为 HLS 现在它可以在 Android 和桌面浏览器上完美运行 通过 Flash 但在 Apple 上不行 我可以在我的虚拟机上的 iPad 和桌面 Safari 上进行测试 我可
  • 使用 XML 字段 Vs.为不稳定的组织创建一个表

    我正在设计一个为组织开具和存储发票的应用程序 问题是这个组织根本不稳定 发票的种类很多 并且可能会增加和变化 首先 我尝试在 DAL 中使用表 一张表用于存储发票 一张表用于发票字段 一张表用于发票字段值 问题是 这种方式需要反射来稍后检测
  • gethostbyaddr 在 Windows 上可以,但在 Linux 上返回 NULL

    这段代码在 Windows 上运行正常 但在 Linux 上 gethostbyaddr 返回 NULL 我尝试了很多改变 但没有成功 我的 etc host conf 有以下行 订购主机 绑定 我运行完整的代码并传递地址 11 234 4
  • C 中的多处理和管道

    我正在努力学习如何与fork 创建新流程并pipes与每个进程进行通信 假设我有一个包含 20 个单词的列表 并且创建了 3 个进程 现在 我需要使用管道在进程之间分发单词 每个进程都会对其接收到的单词列表进行排序 我想要实现这一目标的方式
  • 静态 Azure 托管中的子文件夹

    我想使用 Azure blob 文件存储来托管静态网站 如果 html 页面位于 web storage 的根文件夹中 则效果很好 但是 如果我将网页放入子文件夹中 相对链接 例如 css 文件 将不再起作用 因为它们被解释为基于根的链接
  • 处理球衣的多重异常

    我们该如何处理MultiException包含 Throwable 对象列表的球衣 异常映射器技术在一个异常的情况下工作得很好 但如何处理多个异常呢 您可以通过对 MultiException 调用 getErrors 来获取异常列表 Mu
  • Appium 仅在 Cordova 应用程序上显示 NATIVE_APP 上下文

    我在 Windows 上运行 Appium 以直接在 Android 设备上测试 Cordova 应用程序 但是 当我尝试获取上下文并切换到包含的上下文时WEBVIEW 基本上 推荐的过程 它只返回一个上下文 NATIVE APP 当我使用
  • 如何在 C# 中读取 .wav 文件的比特率

    鉴于我有一个 wav 文件 在 C 中读取其比特率属性的最佳方法是什么 我尝试过Shell 并提出了一个问题 比特率 属性是否固定在索引 28 中 没有答案所以 另外 我现在相信 Shell 不是读取音频文件属性的最佳方法 我研究了不同的开
  • 如何使用 linkRadial 绘制两点之间的链接?

    我需要手动绘制圆上的点和聚集在该圆中心的点之间的一些链接 我有源点和目标点的 x y 对 但我不想要它们之间有一条简单的直线 我想要一条曲线 类似于树形图中的链接 我可以用linkHorizontal or linkVertical但它们的
  • 同一 Solr Core 中的多个索引..?

    我正在使用 Apache Solr 我有以下场景 我的 PostGreSQL 数据库中有两个表 其一是 Cars 其他的是 Dealers 现在我有一个数据配置文件Cars像下面这样
  • 大虾PDF:我需要生成嵌套表格

    我需要一个表 其中行实际上是 2 行表 这是一个嵌套表 我怎样才能在虾中做到这一点 也许我需要延期 但是哪一个 现在支持子表 Prawn Document generate subtable pdf do pdf subtable pdf
  • 我们可以在经典 ASP 中创建线程吗?

    我的简单问题是 我们可以在经典 ASP 中创建线程吗 如果是的话怎么办 请帮忙 VBScript 中没有允许您生成新线程的本机方法 另一方面 您可以调用用其他语言 例如 C 编写的多线程 COM 组件
  • 导入错误:没有名为“selenium”的模块

    我正在尝试编写一个脚本来检查网站 这是我第一次使用硒 我正在尝试在 OSX 系统上运行该脚本 虽然我签入了 Library Python 2 7 site packages 并且存在 selenium 2 46 0 py2 7 egg 但当
  • 当我将普通页面重定向到 AMP 页面时出现 500 内部服务器错误 htaccess 错误

    这是我的重定向 AMP 页面的正常页面代码 正常的页面url是https www themobilesapp com Nokia Lumia 638 specifications 3029 这工作正常 但 AMP 页面网
  • 使用 C# 更新 Facebook 状态

    我的桌面应用程序应该更新我的 Facebook 状态 是否有一个 API 允许使用登录名和密码更新状态 预先感谢您的回答 当然有 Net Facebook 工具包它是由 Microsoft 的第 3 方完成的 然后在 CodePlex 上作
  • mysqli 多个查询 - 设置变量产生布尔错误/如何跳过这个?

    得到以下简单的查询 该查询通过 phpmyadmin 可以正常工作 但是当我将其添加到我的 php 网站时 没有返回结果 也没有错误 警告消息 如果我删除 SET N 1 然后就可以正常工作了
  • 将特定文件从多个子目录复制到 R 中的单个文件夹中

    假设我有 3 个文件夹 每个文件夹中都有大量文件 我只想从每个子目录中选择几个文件 然后仅将这些文件粘贴到新文件夹中 让我们调用这 3 个文件夹 桌面 目录 sub 11s gi01 ab 桌面 目录 sub 11f gi01 b 桌面 目