я просто нужно знать, как сделать регулярное выражение, которое принимает число, которое имеет до 2-х цифрБаш получить регулярное количество выражений до 2-х цифр
Все, что я только сейчас
^[0-9]{2}$
Который соответствовал бы числу с ровно 2 цифрами, но я не знаю, как указать «сопоставить число, которое имеет до двух цифр».
Кроме того, если есть способ убедиться, что это число не равно 0, это будет плюсом, иначе я могу проверить это с помощью Bash.
Спасибо! :)
Обратите внимание, что входная переменная приходит от чтения -p «сделать выбор» Номер
редактированием ПОСТ - SHOWING КОД В КОНТЕКСТЕ:
while true; do
read -p "Please key in the number of the engineer of your choice, or leave empty to select them all: " Engineer
if [ -z "$Engineer" ]; then
echo "No particular user specified, all engineers will be selected."
UserIdSqlString="Transactions.Creator!=0 "
break
else
if [[ $Engineer =~ ^[0-9]{1,2}$ && $Engineer -ne 0 ]]; then
echo "If you want a specific engineer type their number otherwise leave blank"
else
echo "yes"
break
fi
fi
done
Вы используете 'grep' или' sed' или что-то еще? – naomik
Я редактировал свой пост. Я не против вовлекать grep или sed вообще :) – Bluz
@Bluz, у вас есть 'if-else' назад. 'if [[$ Engineer = ~^[0-9] {1,2} $ && $ Engineer -ne 0]]; 'возвращает true, когда у вас есть ненулевой двузначный номер, установленный в' Engineer', поэтому 'echo 'yes'' должен следовать этому – iruvar