유사한 문자가 있는 파일 병합

유사한 문자가 있는 파일 병합

수백 개의 파일이 들어 있는 폴더가 있습니다. 이 파일은 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루프를 사용하여 cat1부터 26까지의 각 숫자에 대해 한 번씩, 26번 실행합니다.

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

관련 정보