Я работаю над скриптом, сжимающим файлы. Я хочу сделать «до цикла» до того, как содержимое переменной будет соответствовать шаблону. Сценарий использует зенит. Это основная часть:Как сгладить строку до цикла в bash?
part="0"
pattern="^([0-9]{1}[0-9]*([km])$"
until `grep -E "$pattern" "$part"` ; do
part=$(zenity --entry \
--title="Zip the file" \
--text "Choose the size of divided parts:
(0 = no division, *m = *mb, *k = *kb)" \
--entry-text "0");
if grep -E "$pattern" "$part" ; then
zenity --warning --text "Wrong text entry, try again." --no-cancel;
fi
done
Я хочу, чтобы принять строку, содержащую цифры закончилась «к» или «т» (но не оба) и не принимают строку с начала «0».
Является ли образец нормально?
Подождите, вопрос только в том, хорошо ли образец? Или у вас проблемы со всем скриптом? Если вы заботитесь только о шаблоне, вы можете значительно упростить вопрос, удалив не важные части. – Shahbaz