答案1
所以你需要:
- 通过删除换行符将整个文件合并为一个字符串
- 按模式将字符串分成多行
FQTLLALHR
- 计算结果的行数:
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