![라인에 특정 패턴이 포함된 경우 인쇄하고 해당 패턴이 포함되지 않은 경우 인쇄하지 않는 방법](https://linux55.com/image/104404/%EB%9D%BC%EC%9D%B8%EC%97%90%20%ED%8A%B9%EC%A0%95%20%ED%8C%A8%ED%84%B4%EC%9D%B4%20%ED%8F%AC%ED%95%A8%EB%90%9C%20%EA%B2%BD%EC%9A%B0%20%EC%9D%B8%EC%87%84%ED%95%98%EA%B3%A0%20%ED%95%B4%EB%8B%B9%20%ED%8C%A8%ED%84%B4%EC%9D%B4%20%ED%8F%AC%ED%95%A8%EB%90%98%EC%A7%80%20%EC%95%8A%EC%9D%80%20%EA%B2%BD%EC%9A%B0%20%EC%9D%B8%EC%87%84%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
">16RI1_0 M01230:42:000000000-AWMRD:1:1101:15012:1778 1:N:0:0
TATCCGGATTTACTGGGTGTAAAGGGAGCGTAGGCGGCCATGCAAGTCAGAAGTGAAAAC
">16RA2_1 M01230:42:000000000-AWMRD:1:1101:15923:1780 1:N:0:0
TTGTCCGGATTTATTGGGCGTAAAGCGAGCGCAGGCGGTTTCTTAAGTCTGATGTGAAAGC
">0VC3_7 M01230:42:000000000-AWMRD:1:1101:15805:1805 1:N:0:0 TCATGAAGAACTCCGATCGCGAAGGCAAGTGTCCGGGGTGCAACTGACGCTGAGGCTCGAA
">11VI2_15 M01230:42:000000000-AWMRD:1:1101:17657:1817 1:N:0:0
GCGGCTTACTGGACTGTAACTGACGTTGAGGCTCGAAAGCGTGGGGAGCAAACAGGGCTC
안녕하세요. 이러한 유형의 정보가 포함된 파일이 있습니다. ">" 기호로 시작하는 모든 줄과 다음 줄을 인쇄하고 싶지만 ">" 기호로 시작하는 줄에는 문자 V가 포함되어야 합니다. 도와주세요.
답변1
">" 기호로 시작하는 모든 줄과 다음 줄을 인쇄하고 싶지만 ">" 기호로 시작하는 줄에는 문자 V가 포함되어야 한다는 조건이 있습니다.
이것은 grep
작동하는 것 같습니다:
grep -A 1 '^">.*V'
예:
grep -A 1 '^">.*V' file
">0VC3_7 M01230:42:000000000-AWMRD:1:1101:15805:1805 1:N:0:0 TCATGAAGAACTCCGATCGCGAAGGCAAGTGTCCGGGGTGCAACTGACGCTGAGGCTCGAA
">11VI2_15 M01230:42:000000000-AWMRD:1:1101:17657:1817 1:N:0:0
GCGGCTTACTGGACTGTAACTGACGTTGAGGCTCGAAAGCGTGGGGAGCAAACAGGGCTC
답변2
GNU sed
(Linux 시스템의 표준)를 사용하면 다음과 같이 fasta 파일에서 헤더 라인(포함 V
)과 시퀀스의 첫 번째 라인을 얻을 수 있습니다.
sed -n '/^>.*V/,+1p' sequence.fa
이는 fasta 파일의 형식이 올바른 것으로 가정합니다.
-n
기본 출력을 끄고 /^>.*V/,+1p
a가 있는 헤더 행 V
과 그 바로 다음에 오는 행을 인쇄합니다.
답변3
당신은 말한다:
">" 기호로 시작하는 모든 줄과 다음 줄을 인쇄하고 싶지만 ">" 기호로 시작하는 줄에는 문자 V가 포함되어야 한다는 조건이 있습니다.
이것은 awk에게 좋은 일입니다.
$ awk '/^">.*V/{print $0;getline line; print line}' input.txt
">0VC3_7 M01230:42:000000000-AWMRD:1:1101:15805:1805 1:N:0:0
TCATGAAGAACTCCGATCGCGAAGGCAAGTGTCCGGGGTGCAACTGACGCTGAGGCTCGAA
">11VI2_15 M01230:42:000000000-AWMRD:1:1101:17657:1817 1:N:0:0
GCGGCTTACTGGACTGTAACTGACGTTGAGGCTCGAAAGCGTGGGGAGCAAACAGGGCTC