人々が私の元の質問を理解していないようだったので、私はこれを新しい質問として尋ねています。
単語が大文字で始まり、その後にコードが9文字続くかどうかを確認する方法を理解できます。
echo "word" | grep -Eo '^[A-Z][[:alpha:]]{8}'
これが私がやるべきことのパート1です。私の実際のスクリプトは、最初で唯一の引数として指定されたテキストファイル内の各単語をループし、それらの単語のいずれかが大文字で始まり、9文字の長さであるかどうかを確認することになっています。
私はもう試した:
cat textfile | grep -Eo '^[A-Z][[:alpha:]]{8}'
と
while read p
do echo $p | grep -Eo '^[A-Z][[:alpha:]]{8}'
done < $1
無駄に。
それでも:
cat randomtext.txt
出力:
The loud Brown Cow jumped over the White Moon. November October tesTer Abcdefgh Abcdefgha
したがって、ファイルrandomtext.txt内のすべての単語が正しく出力されます。
では、なぜそうしないのですか
cat randomtext.txt | grep -Eo '^[A-Z][[:alpha:]]{8}'
仕事?