grep -c "string" file.txt "string"이 다음 줄에 계속되면?

grep -c "string" file.txt "string"이 다음 줄에 계속되면?

제목에서 알 수 있듯이 텍스트 파일에서 문자열의 인스턴스 수를 계산하려고 합니다. 그러나 어떤 경우에는 문자열이 다음 줄로 계속됩니다. 새 줄로 분할되는 경우에도 "문자열"의 인스턴스를 찾기 위해 이 간단한 코드를 어떻게 변경할 수 있습니까?

grep -c "string" file.txt여기에 이미지 설명을 입력하세요.

답변1

따라서 다음이 필요합니다.

  1. 개행 문자를 제거하여 전체 파일을 단일 문자열로 결합합니다.
  2. 패턴에 따라 문자열을 여러 줄로 분할FQTLLALHR
  3. 결과의 행 수를 계산합니다.
tr -d "\n\r" <file.txt | sed -e "s/FQTLLALHR/\n/g" | wc -l

완벽한.

답변2

저는 fasta 형식의 단백질 서열을 연구하고 있습니다. 항목은 "">단백질 이름"으로 시작하고 그 뒤에 새 줄이 옵니다. 줄은 일련의 문자(아미노산)로 시작하고 줄당 60자를 차지하며 새 줄에서 계속됩니다. 유사한 형식을 유지하려면 다음과 같이 하십시오. "단백질 이름" 사이에 각 순서를 한 줄로 나열하면 다음과 같습니다.

awk '/^>/ {printf("\n%s\n",$0);next; } { printf("%s",$0);} END {printf("\n");}' < file.txt > new_file.txt

그러면 모든 시퀀스가 ​​한 줄에 포함된 새 텍스트 파일이 현재 디렉터리에 생성됩니다. 그런 다음 텍스트 파일과 Ctrl+ F시퀀스를 열어 발생 횟수를 계산하거나 다음을 수행할 수 있습니다.

grep -c "string" new_file.txt

관련 정보