我使用腳本壓縮文件。我想做一個'直到循環'直到變量的內容與模式匹配。劇本使用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