Как выполнить ряд строк с помощью xargs

У меня большой дамп sql, который имеет 1 инструкцию вставки в строке. Я хочу, чтобы иметь возможность передавать это на xargs, чтобы я мог замедлить записи. В основном я хочу выполнить ряд строк, спящий режим, затем продолжить выполнение и т. Д.

У меня есть это:

cat file.sql | xargs -n50 -d "\n" sh -c '(echo "$@" | mysql db_name); sleep 10'

Но проблема в том, что я верю где-то в файле есть \n, вызывающий разрыв sql. Я использую INSERT IGNORE, и это приводит к отсутствию строк.

Я не хочу проходить через файл и исправлять \n. Есть ли способ использовать строку вместо \n?

Я пробовал:

cat file.sql | xargs -L 50 sh -c '(echo "$@" | mysql db_name); sleep 10'

, но я получаю:

xargs: unmatched single quote; by default quotes are special to xargs unless you use the -0 option
1
задан 11 March 2015 в 17:42

0 ответов

Другие вопросы по тегам:

Похожие вопросы: