数字のみで入力した日付の検証を試みています(たとえば、09042009を2009年9月4日としています)。KornShell - スクリプトの日付検証
コードは、日付の長さをチェックします。
はどのようにして、日付エントリのだけではない長さを検証するだろうが、また、それは本当の日付であることを?テストと正規表現を組み合わせるための構文は何でしょうか?それが今存在しているよう
コード:
echo "Please enter the date you want (e.g. 07142009)"
level=1;
while [ $level -gt 0 ]; do
read date;
dateleng=`expr length $date`
if [ dateleng -ne 8 ]; then
echo "Bad date, please re-enter";
else level=0;
fi
done
これは、古いUnixシステム上でKornシェル(ksh)の場合です。
あなたはkshの中でそれを行う必要がありますか?次のようなことを行うのはかなり一般的です:if echo "$ TEXT" | perl -pe 'テストとexit 1'; echo $ TEXTはテストに合格しました。 fiここで、testは文字列の有用なテストです。 –
私はこの猫を肌に触れる方法は複数あると確信しています。これを行うperlで1行の正規表現の例がありますか? – jjclarkson
それは、あなたがうるう年を気にしますか? – Beta