Bash - Как проверить, все ли буквы в строке прописные - PullRequest
0 голосов
/ 05 августа 2020

Например:

"abc" -> false
"aBc" -> false
"aBC" -> false
"ABC" -> true

Ответы [ 2 ]

2 голосов
/ 05 августа 2020

В чистом виде bash, используя регулярное выражение в [[:

$ [[ abc =~ ^[[:upper:]]+$ ]] && echo "All upper case"
$ [[ aBc =~ ^[[:upper:]]+$ ]] && echo "All upper case"
$ [[ aBC =~ ^[[:upper:]]+$ ]] && echo "All upper case"
$ [[ ABC =~ ^[[:upper:]]+$ ]] && echo "All upper case"
All upper case
0 голосов
/ 05 августа 2020

Вы можете попробовать сделать это по регулярному выражению:

etoneja@ois ~ $ REGEX='^[A-Z]+$'
etoneja@ois ~ $ echo "ABC" | grep -P -q "$REGEX"
etoneja@ois ~ $ echo $?
0
etoneja@ois ~ $ echo "ABc" | grep -P -q "$REGEX"
etoneja@ois ~ $ echo $?
1

0 в случае успеха, 1 в случае неудачи

Отредактировано после комментария @Gordon Davisson.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...