Так сложилось возникла сегодня необходимость в утилите, которая разбивает большой текстовый по количеству строк. Утилита не сложная, но вдруг кому либо пригодится. Проверял работу под виндой и линуксом.
Запуск:
splitter [опции] <имя_входящего_файла>
Опции:
-s отображать информацию о процессе обработки
-rX разбивать на файлы с количеством строк не более X. Без данного параметра 10000 строк.
в результате получается несколько файлов с именем по следующему правилу:
<имя_исходного_файла>_XXX[.<расширение_если_есть>]
XXX - порядковый номер с лидирующим 0
Коды возврата:
0 - Ok
1 - Ошибка открытия исходного файла
2 - Ошибка создания результрующего файла
3 - Не достаточно параметров передано
Выкладываю пока только исходники. https://github.com/Voral/splitter
ЗЫ И все из-за SQL сервера от одной мелкой фирмы....
Разбивка файлов на несколько по количеству строк
эмм... man split
set( CMAKE_BUILD_TYPE RELEASE )
cmake это Ъ, только не решайте за других! раз уж больше трёх строк пишите и хотите установить умолчания, то оборачивайте в if'ы.
эмм... man split
Некоторые шеллы (собстевенно установлен на машине, на которой эта задача была актуальна) выдают следующее:
c:\>man split
"man" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
:)
cmake это Ъ, только не решайте за других! раз уж больше трёх строк пишите и хотите установить умолчания, то оборачивайте в if'ы.
Я за других и не решаю. Я делаю так, как на данный момент умею. Это первая проба cmake. И на данный момент прочитана всего лишь одна статья из блога.
Если кому нужен виндовый экзешник - говорите он уже есть готовый.
Некоторые шеллы (собстевенно установлен на машине, на которой эта задача была актуальна) выдают следующее:
ой... вообще страшная система... мне самому с ней пришлось сегодня ***ться... сначала матерился, что средняя кнопка не вставляет, а потом ещё расстроился, что sed'а нет =))
Я за других и не решаю. Я делаю так, как на данный момент умею. Это первая проба cmake. И на данный момент прочитана всего лишь одна статья из блога.
просто обычно это указывают при сборке. если хотите задать умолчания, то ИМХО лучше делать так:
if(NOT CMAKE_BUILD_TYPE)
set( CMAKE_BUILD_TYPE RELEASE )
endif(NOT CMAKE_BUILD_TYPE)а вообще там много лишнего: для такого маленького проекта достаточно трёх строк:
cmake_minimum_required ( VERSION 2.6 )
project ( splitter )
add_executable ( splitter src/main.cpp )
причём первая - только для того, чтобы cmake не ругался...