단어/패턴 "gene"과 "+"가 모두 포함된 줄 수를 찾고 싶습니다. grep으로 이것을 할 수 있습니까?
답변1
예, 다음을 통해 이 작업을 수행할 수 있습니다 grep
.
grep -c 'gene.*+' file
그러면 단어가 gene
처음 나타나는 줄을 찾아 별도의 단어("단어 분리"를 의미)로 찾은 다음 같은 줄에서 별도의 단어로 \b
도 가져옵니다 . +
이 -c
플래그는 grep
인쇄할 일치하는 줄 수를 알려줍니다. +
이전 항목 도 찾아야 하는 경우 gene
다음을 수행할 수 있습니다.
grep -Ec '(gene.*\+)|(\+.*gene)' file
그러나 이는 Eugene+Mary came for dinner
원하는 것이 아닐 수도 있는 것과도 일치합니다. 찾고 있는 단어를 보면 gff/gtf 파일을 보고 있는 것 같으므로 좀 더 복잡한 작업을 수행하여 의 gene
세 번째 및 +
일곱 번째 필드 에 존재하지 않는 행을 찾고 싶을 수도 있습니다. 각 행은 #
(gff 헤더) 로 시작됩니다. 이것이 실제로 필요한 것이라면 다음과 같이 할 수 있습니다.
awk -F"\t" '!/^#/ && $3=="gene" && $7=="+"{c++}END{print c}'