Принятый ответ абсолютно правильный, просто если вы хотите увидеть видимый размер, вы можете использовать:
du --apparent-size
печатать видимые размеры, а не использование диска; хотя видимый размер обычно меньше, он может быть больше из-за дыр в («разреженных») файлах, внутренней фрагментации, косвенных блоков и т.п.
Вы также можете использовать оператор case
:
REGEX="[2][0-2]:[0-5][0-9]"; # Note no placeholders like ^ and $ here
TIME="21:30"
case $TIME in
$REGEX ) echo "Worked" ;; # Note no double quotes around $REGEX for allowing the wildcard matching to happen
* ) echo "Did not work" ;;
esac
Простое =
неверно для сравнения регулярных выражений. Вы должны использовать =~
, и вам также придется использовать двойную скобку:
if [[ $TIME =~ $REGEX ]]; then
...
См. также:https://stackoverflow.com/questions/17420994/bash-regex-match-string