텍스트 처리

텍스트 처리

두 개의 파일이 있습니다.

파일 A:

       Chr1     Cufflinks     exon    2903   3268   .   +   .   gene_id "XLOC_000001"; transcript_id "TCONS_00000002"; exon_number "1"; oId "CUFF.1.2"; tss_id "TSS1";

       Chr1     Cufflinks     exon    3354   3616   .   +   .   gene_id "XLOC_000001"; transcript_id "TCONS_00000002"; exon_number "2"; oId "CUFF.1.2"; tss_id "TSS1";

       Chr1     Cufflinks     exon    4357   4455   .   +   .   gene_id "XLOC_000001"; transcript_id "TCONS_00000761"; exon_number "3"; oId "CUFF.1.2"; tss_id "TSS1";

문서 B;

TCONS_00000066
TCONS_00000600
TCONS_00000761
TCONS_00000762
TCONS_00000773

B 파일을 일치시키고 일치하는 위치를 인쇄하고 싶습니다. 이 예에서 파일 A의 ID는 열 12에 있습니다.

출력은 다음과 같아야합니다

    Chr1    Cufflinks   exon    4357    4455    .   +   .   gene_id "XLOC_000001"; transcript_id "TCONS_00000761"; exon_number "3"; oId "CUFF.1.2"; tss_id "TSS1";

파일 A의 전체 줄은 파일 C에 있어야 합니다.

awk 명령을 시도했지만 실패했습니다.

awk 'FNR==NR {a[$12];next}; !($12 in a)' B A >C

도와주세요.

답변1

grep -fB A

원하는 작업을 수행합니다. 이 -f옵션은 패턴을 로드할 파일을 한 줄에 하나씩 지정합니다. A패턴과 일치하는 모든 라인이 B출력됩니다.

관련 정보