터미널에서 이 파일들을 동시에 작동하려면 어떻게 해야 합니까?

터미널에서 이 파일들을 동시에 작동하려면 어떻게 해야 합니까?

139개의 탭으로 구분된 파일이 있습니다 .txt. .txt해당 파일의 이름을 사용하여 각 파일에 열을 추가하고 마지막으로 모든 .txt 파일을 하나의 파일에 추가하고 싶습니다 . A.txt, B.txt, C.txt파일이 있고 각 파일에 다음과 같은 열이 있습니다.

chrM    10458   C   T
chrM    13960   C   T
chrM    14173   T   C
chr1    920552  G   A

나는 다음과 같은 것이 필요합니다

A   chrM    10458   C   T
A   chrM    13960   C   T
A   chrM    14173   T   C
A   chr1    920552  G   A
B   chr1    1350208 G   A
B   chr1    1447367 T   G
B   chr1    1909310 G   A
B   chr1    2172675 G   C
C   chr1    2846623 C   T
C   chr1    3057894 G   A
C   chr1    3096688 G   C
C   chr1    3154525 G   A

나를 위해 그렇게 해줄 수 있나요?

감사해요

답변1

약간 grep까다롭지만 . sed접두사 파일 이름(".txt:")의 일부를 공백으로 바꿀 수 있습니다 .

grep . *.txt | sed 's/.txt:/ /g'

꽤 많은 CPU 사이클을 낭비하지만 원샷 타이머의 경우에는 문제가 되지 않으며 작업이 완료됩니다.

답변2

사용 awkFILENAME변수.
확장을 제거하려면 다음 gsub기능을 사용할 수 있습니다.

awk -F'\t' 'BEGIN{OFS=FS}{gsub(/.txt$/,"",FILENAME); print FILENAME,$0}' *.txt

> MERGE.txt결과를 새 텍스트 파일에 저장하려면 끝에 추가하세요 .

관련 정보