Сообщения

Сообщения за 2014

Замена подстроки в файле при помощи sed, Linux

Замена подстроки в файле в Linux легко осуществляется при помощи встроенной утилиты sed. $ sed -e 's/ red / blue /g' filename.txt Из вышеприведенной конструкции: red - подстрока, которую нужно найти в файле blue -  подстрока, на которую нужно заменить filename.txt -  файл, в котором осуществляется поиск Чтобы сохранить изменения, нужно направить вывод в файл $  sed  -e 's/ red / blue /g'  filename.txt > filename_new.txt

Удалить все таблицы в базе данных Mysql | Drop all tables in mysql

Всем привет! Сегодня я вам кратко расскажу, как удалить все таблицы разом в MySQL, не удаляя базу данных. Есть два способа это сделать. Самый простой способ удалить таблицы MySQL, заключается в использовании mysqldump: mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE] Переменные, которые указаны выше, [USERNAME], [PASSWORD] и [DATABASE] это опции вашей базы данных. Вы можете менять USERNAME, PASSWORD и DATABASE, как вам угодно. Второй способ, используя некоторые конструкции MySQL для формирования списка таблиц и последующего их удаления SET FOREIGN_KEY_CHECKS = 0 ; SET @ tables = NULL ; SELECT GROUP_CONCAT ( table_schema , '.' , table_name ) INTO @ tables FROM information_schema . tables WHERE table_schema = 'database_name' ; -- specify DB name here. SET @ tables = CONCAT ( 'DROP TABLE IF EXISTS ' , @ tables ); PREPARE stmt FROM @ tables

MySQL: Загрузка данных в таблицу из файла

Вам когда-нибудь приходилось загружать данные из файла в таблицу из файла? Если нет, то я попробую кратко рассказать вам об одном способе это сделать. Загрузить данные в таблицу из файла LOAD DATA INFILE 'data.csv' INTO TABLE my_table Такая конструкция поможет вам загрузить данные из файла в вашу таблицу. Если вы хотите загрузить отформатированные данные, скажем разделенные запятой, то вам поможет следующая конструкция: LOAD DATA INFILE 'data.csv' INTO TABLE my_table FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n' Что это означает? Искать концы строк в виде символов '\r\n' Разбивать строки на поля по символам запятой (,). Ожидать, что поля могут быть заключены в символы цитирования. Интерпретировать встречающиеся символы табуляции, новой строки или '\', предваренные '\', как литералы, являющиеся частью значения поля. Конструкция LOAD

SQL группировка данных по кванту значений.

Всем привет, недавно встала задача выборки данных по квантам значений. Объясню ситуацию: Есть таблица payment(платежи): id_user [ int ] sum [ int ] date [ date ] SQL выборка данных по кванту значений. sum (сумма платежа) может быть относительно любой от 0 и до 100000, например. Задача:  Нужно сгруппировать вывод данных по сумме с квантом в 50 рублей. Например: 0-49   рублей - заплатили 14 пользователей. 50-99   рублей - 59 пользователей 100-150   рублей  - 147 пользователей и т.д. до конца (до 100000  рублей  ) Нужно сформировать SQL-запрос на MySQL. Ответ очень прост: select count ( id_user ), concat_ws ( "..." , floor ( sum / 50 )* 50 , ( floor ( sum / 50 )+ 1 )* 50 - 1 ) as interva_l from payment group by floor ( sum / 50 ); Группируем по дополнительному вычисляемому полю (делением на 50) Вот и весь ответ. Надеюсь, это кому-нибудь поможет.

Linux: Подсчитать количество строк в файле

Подсчитать количество строк в файле Нет ничего проще, чем подсчитать количество строк в файле. cat filename.txt | wc -l Подсчитать общее количество строк в файлах по шаблону Если же вам нужно подсчитать количество строк нескольких файлов, можете использовать шаблон, например: cat *.txt | wc -l Вышеуказанный пример подсчитает общее количество строк всех текстовых файлов. Подсчитать общее количество строк в нескольких файлах Если же вам нужно подсчитать общее количество строк в нескольких конкретных файлах, то в cat можно перечислить эти файлы через пробел. Например: cat file1.txt file2.txt file3.txt | wc -l Подсчитать общее количество строк всех файлов в папке и его подпапках Если же вам нужно подсчитать общее количество строк во всех файлах какой-то директории и в ее поддиректориях, то вам поможет следующая конструкция: find /var/www/ -name "*.txt" -type f -exec wc -l {} \; | awk 'BEGIN{sum=0}{sum+=$1;}END{print sum;}&#

Объединить несколько файлов в один в Linux

Для того, чтобы объединить несколько файлов в Linux, нужно воспользоваться командой cat . Вот пример: cat file1.txt file2.txt > mainfile.txt Более подробно об использовании команды cat можно почитать тут Надеюсь, наша статья вам помогла. Пожалуйста, поставьте оценку. Спасибо.