두 개의 파일이 있습니다.
파일 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
출력됩니다.