Если ваши данные отформатированы точно так, как показано (т.е. нет других "
или ;
в других столбцах, которые необходимо сохранить), то вы можете просто использовать tr
, чтобы удалите эти символы:
tr -d '";' < input.txt > output.txt
Как уже говорили другие, и как упоминается в ссылке, которую вы предоставляете в своем вопросе,наличие стека в 8 МБ ничему не повредит (, кроме потребления адресного пространства — в 64-битной -системе это не будет иметь значения ).
Linux уже очень давно использует стеки по 8 Мбайт; изменение было введено в версии 1.3.7 ядра в июле 1995 года. Тогда оно было представлено как ввод ограничения, ранее его не было:
Limit the stack by to some sane default: root can always increase this limit if needed.. 8MB seems reasonable.
В Linux ограничение стека также влияет на размер аргументов программы и среды, которые ограничены одной четвертью ограничения стека ; ядро требует минимум 32 страницы для аргументов и окружения.
Для потоков, если ограничение стека(RLIMIT_STACK
)не ограничено,pthread_create
применяет свои собственные ограничения к стекам новых потоков — и на большинстве архитектур это меньше 8 МБ.
8 МБ — это виртуальный размер стека. Ошибка страницы произойдет, когда ваше приложение попытается использовать больше стека, чем физически выделено в данный момент. Затем обработчик отказов страниц ядра выделяет физическую страницу , после чего ваше приложение продолжит работу.
Полное объяснение см. в https://unix.stackexchange.com/a/280865/21212.
Таким образом, уменьшение размера стека не должно влиять на уменьшение использования физической памяти вашим приложением.