Я пытаюсь импортировать большой файл дампа MySQL и получаю последовательную ошибку в определенной строке 149 351 (из 4207442). Я бы хотел посмотреть, что это за линия.
Я нашел лучший способ сделать это:
head -149351 dump.sql | tail
Однако это очень медленно. Я попытался загрузить файл в vi
, но он не смог обработать такой большой файл. Я использую Windows XP и использую cygwin.
sed -n '149351p' dump.sql
может быть немного быстрее, чем комбинации голова / хвост (но может и нет). Vartec прав; Нет более быстрого способа, чем прочитать хотя бы первые 149351 строку.
Вы можете увидеть отдельную строку с помощью следующей команды:
tail -n+<line number> <file>|head -n1
в твоем случае: хвост -n + 149351 dump.sql | голова -n1
Эта команда завершает файл, начинающийся в строке с номером 149351, и использует глава команда, чтобы отображать только первую строку результатов хвоста.
Я бы рекомендовал использовать команду split, чтобы разбить этот огромный дамп на более управляемые части:
split -l20000 mysql.dump mysql.dump.
Создает файлы с именами mysql.dump.aa, mysql.dump.ab, .... Каждый файл будет содержать 20000 строк - инструменты редактирования должны легко обрабатывать эти небольшие файлы!
После того, как вы устранили проблему, легко их объедините:
cat mysql.dump.* > mysql.dumptest
или
cat mysql.dump.* | mysqlimportcommand
Я обычно просто зажигаю TextPad, даже в файлах размером 1 ГБ.
Ctrl + G - это меню «Перейти», в котором вы можете выбрать номер строки.
Если строки имеют переменную длину, действительно нет более быстрого способа, затем сканирование через первый 149351 (это именно то, что вы делаете с "head
").
Удивленный никто не предложил:
grep -n 149351 dump.sql
Я удивлен, что из его окон никто не предложил
get-content -readcount 0 | выберите объект-индекс 149350
Конечно, в vi вы можете установить номер строки, используя:
:set number
а затем перейдите к строке 149351, используя:
:149351
в качестве альтернативы вы можете запустить vi с определенного номера строки, используя:
vi +36 blah
надеюсь, это поможет...
Откройте это с помощью nano
(с -w), и после открытия нажмите CTRL _
и введите номер строки, к которой нужно перейти.