Проблема в том, что желаемое решение настаивает на использовании групп захвата. C ++ предоставляет инструмент regex_token_iterator
, чтобы лучше обрабатывать это (пример C ++ 11):
#include & lt; iostream & gt; #include & lt; string & gt; #include & lt; regex & gt; использование пространства имен std; int main () {std :: regex e (R "((?: ^ - Числа)? \ s * (\ d +))"); ввод строки; while (getline (cin, input)) {std :: regex_token_iterator & lt; std :: string :: iterator & gt; a {input.begin (), input.end (), e, 1, regex_constants :: match_continuous}; станд :: regex_token_iterator & Lt; станд :: строка :: итератор & GT; конец; в то время как (a! = конец) {cout & lt; & lt; "-"; ++ а; } cout & lt; '\n'; } return 0; }
mysql -u & lt; user & gt; -p -e "select * from schema.table"
Если вы часто запускаете запрос, вы можете сохранить его в файле. Затем в любое время, когда вы хотите запустить его :
mysql & lt; thefile
(со всеми флажками входа и базы данных, конечно)
mysql -uroot -p -hslavedb.mydomain.com mydb_production -e «выберите * у пользователей»;
Из распечатки использования:
blockquote>
-e
,- execute = name
Выполнить команду и бросить курить. (Отключает- force
и файл истории)
echo "select * from users;" | mysql -uroot -p -hslavedb.mydomain.com mydb_production
После входа в mysql на CLI:
выберите * из базы данных.table;
Введите нужную базу данных и таблицу. Или:
база данных USE; SELECT * FROM table;
вот как вы можете сделать это с помощью трюка с оболочкой:
mysql -uroot -p -hslavedb.mydomain.com mydb_production & lt; & lt; 'select * from users'
'& lt; & lt; & lt; инструктирует оболочку брать все, что следует за ней, как stdin, подобно каналу из эха.
использовать флаг -t для включения вывода в виде табличного формата
mysql -u & lt; user & gt; -p -B --disable-column-names -e 'select * from schema.table'
– dvlcube 11 October 2017 в 18:40*
получает расширение для всех файлов в текущем каталоге, в то время как это расширение не происходит в singlequotes, вот почему. Doublequotes будет работать для quiesries без*
. – NobbZ 3 April 2018 в 07:39