0

私は非常に単純なbashスクリプトを持っています:

#!/bin/bash
echo -n "A: ";
grep -v ">" | grep -o "A" $1 | wc -l;

私はタイプする

./script.sh 1.fasta

私は得た

A: 131

しかし、カーソルはまだ点滅しており、スクリプトは終了していません。ここで何が問題なのですか?

ありがとうございました。

4

2 に答える 2

2

最初grepの引数にはファイル引数がないため、標準入力から読み取ります。

grep -v ">"  | grep -o "A" $1 | wc -l;
(read stdin)     (read $1)

を取得する理由131、2 番目にファイル引数があるため、. ただし、最初の最後が終了するのをまだ待っています (これは CTRL-D で実行できます)。grep $1Agrep

おそらくやりたかったことはこれです:

grep -v ">" "$1" | grep -o "A" | wc -l

$1これにより、のないすべての行が検索され、次にその内>のすべての出現がカウントされます。A

于 2013-07-24T08:01:51.983 に答える