У меня есть следующий скрипт, который я создаю:
#/bin/bash -xv
echo "Pls enter your filename with the values:"
read filename
inputfile="$filename"
sc=$(mysql -uuser -ppass db -s -N -e" select min(id) from tableY where paramx= 12 and char_length(address_range) < 246;")
echo $sc
cat $inputfile | while read address_range orig_address_range; do
row=$address_range
raw=$(echo "select address_range from tableY where paramx= 12 and id = '$sc';")
line=$(echo $raw)
echo $line
rowadd=$row"|"$raw
echo $rowadd
((sc++))
done | mysql -uuser -ppass db;
Итак, цель этого кода будет:
Дайте файл со значениями, такими как this - ^ 11223344 $ ^ 1 [0-9] {10} $, где "^ 11223344 $" - диапазон адресов
Проверка из таблицы Y и paramx, который является первой записью из address_range меньше 246 по размеру, поэтому я могу добавить к нему новое значение после символа канала ("|")
Добавить, скопировать содержимое найденной записи и добавить к ней новое значение
В идеале у меня должно быть что-то вроде этого в конце: ^ 1111111 $ | ^ 22222 $ | ^ 33333333 $ | ^ 44444444 $ | ^ 5555555 $
Поэтому моя главная проблема заключается в том, что при выполнении кода выше я получаю следующий результат:
Pls enter your filename with the values:
Test
861
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '^11223344$
select address_range from tableY where paramx= 12 and id = '861'' at line 1
Таким образом, значение, которое у меня было в файле "Test", равно ^ 11223344 $ ^ 1 [0-9] {10} $, поэтому я могу видеть, что он получает правильное значение, но по какой-то причине он пропускает ошибку и не соединяет два компонента.
Даже если я запускаю только часть строки, с из-за попытки присоединиться к ним у меня есть похожая ошибка:
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '^11223344$' at line 1
Извините за длинный текст, если это сбивает с толку ... это мой первый пост здесь, но я действительно застрял здесь. Любые идеи?
Заранее спасибо