答え1
したがって、以下が必要です。
- 改行文字を削除してファイル全体を単一の文字列に結合します。
- パターンに応じて文字列を複数行に分割
FQTLLALHR
- 結果の行数を計算します。
tr -d "\n\r" <file.txt | sed -e "s/FQTLLALHR/\n/g" | wc -l
完璧。
答え2
私はfasta形式のタンパク質配列を研究しています。エントリは "">タンパク質名」で始まり、その後に新しい行が続きます。行は一連の文字(アミノ酸)で始まり、1行につき60文字を占め、新しい行に続きます。同様の形式を維持するには「タンパク質名」の間に各順序を1行で列挙すると、次のようになります。
awk '/^>/ {printf("\n%s\n",$0);next; } { printf("%s",$0);} END {printf("\n");}' < file.txt > new_file.txt
これにより、すべてのシーケンスが1行に含まれる新しいテキストファイルが現在のディレクトリに作成されます。その後、テキストファイルとCtrl+Fシーケンスを開き、発生回数を計算したり、次のようにすることができます。
grep -c "string" new_file.txt