合并具有相似字符的文件

合并具有相似字符的文件

我有一个包含数百个文件的文件夹。这些文件是 510 个基因型文件中 26 个环境变量的评分文件。例如在下面的例子中,_s2。是第二个环境变量,_s3。是第三个环境变量,等等。 _9_表明这是第 9 个基因型文件。

lfmm_run2_9_s2.3.zscore
lfmm_run2_9_s24.3.zscore
lfmm_run2_9_s25.3.zscore
lfmm_run2_9_s26.3.zscore
lfmm_run2_9_s3.3.zscore
lfmm_run2_9_s4.3.zscore
lfmm_run2_9_s5.3.zscore
lfmm_run2_9_s6.3.zscore
lfmm_run2_9_s7.3.zscore
lfmm_run2_9_s8.3.zscore
lfmm_run2_9_s9.3.zscore
...

我想合并每个环境变量的基因型文件。我正在做的是

cat lfmm_run2_{1..510}_s1.3.zscore > env1
cat lfmm_run2_{1..510}_s2.3.zscore > env2
cat lfmm_run2_{1..510}_s3.3.zscore > env3

但将所有 26 个环境变量一一执行此操作需要花费大量时间。有没有更快的方法可以通过一个命令来完成所有这些工作?

答案1

使用for循环运行cat26 次,从 1 到 26 每个数字运行一次:

for i in {1..26} ; do
    cat lfmm_run2_{1..510}_s"$i".3.zscore > env"$i"
done

相关内容