文字列に特定の文字が複数回含まれていることを確認する

文字列に特定の文字が複数回含まれていることを確認する

文字列に文字(特定の文字ではなく実際にはすべての文字)が複数回含まれていることを確認したいと思います。

たとえば、

ユーザー:

test.sh this list

スクリプト:

if [ "$1" has some letter more then once ]
then 
do something
fi

ベストアンサー1

あなたはそれを使用することができますgrep

正規表現は、\(.\).*\1ランダムな単一文字、その後にランダムな文字、その後に同じ最初の文字が続くものと一致します。

grep1 つ以上の行が正規表現と一致する場合、成功を返します。

if echo "$1" | grep -q '\(.\).*\1' ; then  
  echo "match" ; 
fi

文字以外のすべての文字と一致させるには、正規表現を「」の特定の定義\(.\)に制限する必要があります。本当にどんな手紙でも" . または同じものを使用できます\([[:alnum:]]\).*\1\([[:alpha:]]\).*\1\([a-df-z1245]\).*\1

おすすめ記事