다음과 같은 테이블이 있습니다.
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