我使用脚本压缩文件。我想做一个'直到循环'直到变量的内容与模式匹配。剧本使用zenity。这是主要的部分:如何grep一个字符串直到循环在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
我希望它接受包含字符串的数字与“k”或“M”(而不是他们两个)结束,不接受字符串开始与“0”。
模式是否正常?
等一下,问题只是模式是否正常?或者你对整个脚本有问题?如果你只关心模式,你可以大大简化问题,删除非重要的部分。 – Shahbaz 2013-05-02 15:21:03