Use um loop for
para executar cat
26 vezes, uma para cada número de 1 a 26:
for i in {1..26} ; do
cat lfmm_run2_{1..510}_s"$i".3.zscore > env"$i"
done
Eu tenho uma pasta com centenas de arquivos. Esses arquivos são arquivos de pontuação para 26 variáveis ambientais em 510 arquivos genotípicos. Por exemplo, nos exemplos abaixo, _s2. é a segunda variável ambiental, _s3. é a terceira variável ambiental, etc. _9 _ indica que é para o 9º arquivo genotípico.
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
...
Eu quero combinar os arquivos genotípicos para cada variável de ambiente. o que estou fazendo é
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
Mas é preciso muito tempo para fazer isso para todas as 26 variáveis ambientais, uma a uma. Existe alguma maneira mais rápida de fazer isso tudo por um único comando?
Tags text-processing cat