Làm thế nào để lặp lại một chuỗi có dạng "[AZ] [0-9] *" hoặc ví dụ: "A000001"?
Sau khi nhận được biến tôi chia:
current_=$(mysql -h"$mysqlhost" -u"$mysqluser" -p"$PASS" "$DBNAME" -se "SELECT current_ FROM $GLOBALDB;")
current_number=$(echo $current_ | grep -oh "[0-9]*")
current_letter=$(echo $current_ | grep -oh "[A-Z]*")
Tuy nhiên khi tôi cố gắng thêm 1:
# add 1 & keep all leading zeros "000001"
next_number=$(printf %06d $(($current_number + 1)))
Nó được tính là "000009" và quay trở lại "000000".
Và tôi tham gia như sau:
next_=$(echo "$current_letter$next_number")
Và liên quan đến việc lặp lại Letter tôi đã nghĩ đến việc sử dụng Associated Array? Hoặc mở rộng cú đúp {A..Z}
, nhưng đó là một câu hỏi hoàn toàn khác.