DNAファイルのヌクレオチドの基本文字数が3の倍数であることを確認しようとしていますが、次のコードでエラーが発生し続けます。
var4=$(wc -c < $1 | bc)
var5=$($var4 % 3)
if [ "$var5" -eq 0 ]; then
ご覧のとおり、上記のコードは完全ではありませんが、問題のある部分だけを表示しました。
ベストアンサー1
ヌクレオチドがグループ内の文字を使用してエンコードされたと仮定すると、acgtn
次のコマンドはグループ内の文字以外のすべての項目(改行、スペースなど)を削除し、残りの文字数を計算します。
ncount=$( tr -d -c 'acgtn' <"$1" | wc -c )
その後、簡単なテストでこの数字を確認できますが、$((...))
代わりに使用することに注意してください$(...)
。
if [ "$(( ncount % 3 ))" -eq 0 ]; then
echo 'nucleotide count is multiple of 3'
fi
大文字または両方を混在して使用する場合は、tr
適切に使用する文字列を展開してください。