У меня столбец MBI содержит 11 символов. Из этих 11 символов:
Я написал код отдельно.
Шаг 1:
cut -c 3,6 ACO_SAMPLE.txt > alphanumeric
while read line
do
if echo "$line" | grep -q '^[1-9][0-9][0-9][0-9][0-9]$'
then
echo "$line is a valid"
else
echo "$line is invalid"
fi
done < alphanumeric
rm -f alphanumeric
Шаг 2:
cut -c 2,5,8,9 ACO_SAMPLE.txt > alphabet
while read line
do
if echo "$line" | grep -q '^[A-Z][A-Z][A-Z][A-Z]$'
then
echo "$line is a letter"
else
echo "$line is not a letter"
fi
done < alphabet
rm -f alphabet
Шаг 3:
cut -c 3,6 ACO_SAMPLE.txt > alphanumeric
while read line
do
if echo "$line" | grep -q '^[A-Z0-9][A-Z0-9]$'
then
echo "$line is a valid"
else
echo "$line is invalid"
fi
done < alphanumeric
rm -f alphanumeric
Теперь мне нужно объединить все коды в один. Не знаю как. Может ли кто-нибудь помочь мне с этим?
Можно соответствовать этому единственному регулярному выражению (разделение по поводу нескольких строк для ясности). Вы, возможно, должны соответствовать нечувствительный к регистру в зависимости от Ваших входных данных.
^ # Start of string
[0-9] # Number
[a-z] # Letter
[a-z0-9] # Letter or Number
[0-9] # Number
[a-z] # Letter
[a-z0-9] # Letter or Number
[0-9] # Number
[a-z] # Letter
[a-z] # Letter
[0-9] # Number
[0-9] # Number
$ # End of string
Или как одна строка
^[0-9][a-z][a-z0-9][0-9][a-z][a-z0-9][0-9][a-z][a-z][0-9][0-9]$