열 값으로 필터링하고 파일에 쓰기

열 값으로 필터링하고 파일에 쓰기

다음과 같은 테이블이 있습니다.

BB1520_v1.0_0103 엑손 3329 3601
BB1520_v1.0_0103 엑손 3650 4040
BB1520_v1.0_0089 엑손 1 862
BB1520_v1.0_0089 엑손 1312 1357
BB1520_v1.0_0089 엑손 1423 1531
BB1520_v1.0_0084 엑손 5196 5283

열 1의 값으로 행을 추출하여 3개의 다른 파일에 저장하고 싶습니다.

성공하지 못한 채 다음 코드를 사용해 보았습니다.

 awk -F, '{print >$1".txt"}' file.txt

답변1

올바른 접근 방식이 있지만 쉼표( -F,)가 아닌 공백으로 필드를 분할해야 합니다. 귀하의 질문은 "행은 첫 번째 열과 동일한 이름을 가진 파일에 저장되어야 합니다"로 해석됩니다.

$ cat file.txt 
BB1520_v1.0_0103        exon    3329    3601
BB1520_v1.0_0103        exon    3650    4040
BB1520_v1.0_0089        exon    1       862
BB1520_v1.0_0089        exon    1312    1357
BB1520_v1.0_0089        exon    1423    1531
BB1520_v1.0_0084        exon    5196    5283
$ awk '{ print >$1".txt"}' file.txt
$ cat BB1520_v1.0_0103.txt 
BB1520_v1.0_0103        exon    3329    3601
BB1520_v1.0_0103        exon    3650    4040

관련 정보