首页 > 解决方案 > 如何复制不同目录中不同文件的特定部分并将它们保存以在 R 中打开?

问题描述

我有几个同名的文件:data.out,它们位于不同的文件夹中。

我需要获取每个文件的一些数据,将它们保存在文件(.csv)中,然后在 R 中打开。我在每个文件中需要的数据是 7x7 的矩阵。像那样:

***** Estimates of covariance matrix   ***************************************
      
 Matrix 
   1     0.8
   2     5.6       0.2
   3     3.6       5.1       1.3
   4     1.2       6.6       1.2       5.6
   5     2.7      -3.2      -8.6       3.1       7.2
   6     5.1       9.3       5.8       2.4       4.2       6.2
   7     1.5      -2.6      -3.1       9.2       8.1       8.7
         1.1
**** Estimates of residual matrix  ***********************************
 Covariance matrix
   1     2.1
   2     4.1       3.1
   3     1.3       5.6       1.4
   4     4.5       2.1       8.5       1.1
   5     5.1      -5.1      -6.6       5.2       4.1
   6     2.4       4.7       4.2       3.1      -1.2       1.7
   7     1.2       9.2       3.1       4.5       8.1       1.3
         3.9

**** Estimates of correlation matrix  ***********************************
 Correlation matrix
   1     1
   2     4.1       1
   3     1.3       5.6       1
   4     4.5       2.1       8.5       1
   5     5.1      -5.1      -6.6       5.2       1
   6     2.4       4.7       4.2       3.1      -1.2       1
   7     1.2       9.2       3.1       4.5       8.1       1.3
         3.9

我想知道 vim 是否可以帮助我做我想做但无法弄清楚的事情。我首先想到使用行号作为索引,但它们在每个文件中都不相同。简而言之,我想从每个目录(不同名称)中的每个文件(data.out)中获取这些矩阵。然后,将它们保存为 .csv 文件以在 R 中打开。

这是我不用手动复制和粘贴的方式吗?vim 或其他文本编辑器甚至 R 可以帮助我更快地做到这一点吗?谢谢

标签: rlinuxunixvim

解决方案


我不确定这是您要查找的内容,但您可以使用大写字母附加到寄存器中。例子:

  • 在第一个文件中,直观地选择所需的文本。复制以注册“a”:"ay
  • 在以下文件中,直观地选择所需的文本。附加到同一个寄存器:"Ay
  • 在目标文件中,从所述寄存器粘贴:"ap

你也可以复制/附加你从 Vim 知道的其他方式。例如:附加以下 5 行以注册 'a': 4"Ayj,或从大括号内附加以注册 'a':"Ayi}


推荐阅读