ファイルを検証する bash スクリプトを作成しようとしています。要件の 1 つは、ファイル内に「2」が 1 つだけある必要があることです。
現時点での私のコードは次のとおりです。
regex1="[0-9b]*2[0-9b]*2[0-9b]*"
# This regex will match if there are at least two 2's in the file
if [[ ( $(cat "$file") =~ $regex1 ) ]]; then
# stuff to do when there's more than 1 "2"
fi
#...
regex2="^[013456789b]*$"
# This regex will match if there are at least no 2's in the file
if [[ ( $(cat "$file") =~ $regex2 ) ]]; then
# stuff to do when there are no 2's
fi
私がやろうとしているのは、次の部分を一致させることです:
654654654654
254654845845
845462888888
(そこには 2 が 2 つあるので、一致するはずです)
987886546548
546546546848
654684546548
(そこには 2 がないため、一致する必要があります)
=~
演算子を使用してすべての行を検索する方法はありますか?