我有一个包含数百个文件的文件夹。这些文件是 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
循环运行cat
26 次,从 1 到 26 每个数字运行一次:
for i in {1..26} ; do
cat lfmm_run2_{1..510}_s"$i".3.zscore > env"$i"
done