Показаны сообщения с ярлыком basename. Показать все сообщения
Показаны сообщения с ярлыком basename. Показать все сообщения

понедельник, 31 марта 2025 г.

Split / разбить dump


//Разбить дамп по 50000 строк

for i in `ls *.sql`; do split -d -l 50000 -a 4 --additional-suffix=.sql $i "$(basename "$i" .sql)"_; done


//Разбить и удалить оригинал

for i in `ls *.sql`; do split -d -l 50000 -a 4 --additional-suffix=.sql $i "$(basename "$i" .sql)"_; rm $i; done


// Объеденить дамп и залить в базу

cat dbdump_* | mysql -u root -p database_name

Один пример из жизни использования SED



В текущей папке, в 7 строке, файлов *.sql добавляем название таблицв по названию файла.

for i in `ls *.sql`; do sed -i '7s/EXISTS;/EXISTS '"$(basename "$i" .sql)"';/' $i; done


Ну или можно все с первого раза сделать все правильно ;)

for i in `ls *.sql`; do sed -i '7i DROP TABLE IF EXISTS '"$(basename "$i" .sql)"';' $i; done

Split / разбить dump

//Разбить дамп по 50000 строк for i in `ls *.sql`; do split -d -l 50000 -a 4 --additional-suffix=.sql $i "$(basename "$i" .sq...