![특정 끝이 있는 줄을 추출하고 이를 사용하여 다른 파일에서 추출합니다.](https://linux55.com/image/10526/%ED%8A%B9%EC%A0%95%20%EB%81%9D%EC%9D%B4%20%EC%9E%88%EB%8A%94%20%EC%A4%84%EC%9D%84%20%EC%B6%94%EC%B6%9C%ED%95%98%EA%B3%A0%20%EC%9D%B4%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%8B%A4%EB%A5%B8%20%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C%20%EC%B6%94%EC%B6%9C%ED%95%A9%EB%8B%88%EB%8B%A4..png)
콘텐츠를 추출해야 하는 두 개의 파일이 있습니다. 첫 번째 파일에는 바코드 줄이 포함되어 있으며 OTU 번호로 끝납니다. 특정 OTU 번호가 있는 행을 추출해야 합니다.
줄을 추출하는 파일이 있으면 다음 파일에서 첫 번째 파일의 바코드와 일치하는 줄을 추출해야 합니다.
예를 들어, 이 파일에서 OTU_1을 포함하는 모든 라인을 추출하고 싶다고 가정해 보겠습니다.
OTU 1을 포함하는 각 행에는 고유한 바코드가 있습니다. 이 예에서는 5가 표시됩니다.
907.2::M02542:207:000000000-AWDAH:1:1115:18838:201661:N:0:GTGAAA 905.2::M02542:207:000000000-AWDAH:1:1101:24324:103291:N:0:GTGAAA 1205.2::M02542:207:000000000-AWDAH:1:2115:22195:238121:N:0:GTGAAA 906.2::M02542:207:000000000-AWDAH:1:1115:24086:126561:N:0:GTGAAA 910.2::M02542:207:000000000-AWDAH:1:1112:26236:215801:N:0:GTGAAA
다음 파일에서 시퀀스를 추출하려면 다음 바코드를 사용해야 합니다.
보시다시피 바코드는 > 이후에 시작하며 > 사이의 모든 정보(예: 내 시퀀스)가 필요합니다.
스프레드시트 유형 소프트웨어를 사용하고 OTU #으로 정렬하는 확실한 방법을 시도했지만 파일이 너무 큽니다(~수십억 줄 길이).
답변1
그리고암소 비슷한 일종의 영양 grep
, 다음과 같이 작동해야 합니다.
grep -o '\S\+\s\+OTU_1$' Fasta.readmap.uc | \
grep -o '^\S\+' | \
grep -f - -A 1 092016MABits-pr.fasta | \
grep -v '^>'
일치하는 텍스트 만 -o
출력됩니다 . 파이프에서 입력된 패턴을 검색하라고 grep
알려줍니다 -f -
.grep
표준 입력. 게임이 끝난 후 이 대사를 보여 -A 1
달라고 하세요 . grep
Final grep
은 "가 없는 줄만 일치합니다.>".