Если память в вашей системе достаточно велика для хранения всего файла csv
, вы можете попробовать этот очень опасный способ помещения файла во временную файловую систему (т. Е. виртуальный жесткий диск в вашей оперативной памяти), а затем начните разделять его оттуда на жесткий диск.
Обратите внимание, что при выключении ПК, когда файл находится в этом tmpfs
, данные будут потеряны ! Это очень, очень расстраивает вас.
Обычно / dev / shm
уже должен присутствовать, дважды проверьте, если mount | grep shm
перечисляет tmpfs
как смонтированный на / dev / shm
, затем:
mv file /dev/shm
split -l 1000000 /dev/shm/file /path/to/split/directory/
Я не знаю, сколько избыточной памяти вам понадобится помимо файла size, поскольку я не знаком с использованием памяти split
, но я предполагаю, что это будет по крайней мере один миллион строк, которые вы разделяете.
Опять же будьте готовы к потере данных из-за простого отключения электроэнергии или чего-либо неожиданного.
PS: Возможно, у вас есть USB-накопитель для использования в качестве временной файловой системы - менее опасно, но медленнее.
Вы можете управлять консолью с помощью сценариев dbus :
Вы можете использовать что-то вроде этого:
konsole&sleep 0.1
qdbus org.kde.konsole-$! /Windows/1 newSession
konsole&sleep 0.1
qdbus org.kde.konsole-$! /Windows/1 newSession
Вы также можете запускать команды и установите заголовок:
konsole&sleep 0.1
id=$(qdbus org.kde.konsole-$! /Windows/1 newSession)
qdbus org.kde.konsole-$! /Sessions/$id setTitle 1 title
qdbus org.kde.konsole-$! /Sessions/$id sendText ls$'\n'