
02.09.2017, 01:01
|
|
Познающий
Регистрация: 19.08.2016
Сообщений: 78
Провел на форуме: 15508
Репутация:
0
|
|
Сообщение от igrek
Я так и делал, через полчаса файл достиг 14гиг и перестал увеличиваться.
В общем всё получилось.
Не сочтите за наглость, но спрошу ещё - а как через CMD можно сделать замену символов в тексте, например заменить +7 на 8. Я погуглил, нашёл код но он с большими файлами отказался работать
@Echo off
setLocal EnableExtensions
set file=1.txt
set dest=2.txt
for /f "UseBackq tokens=1* Delims=[" %%a in ("%file%") do (
if "%%a"==""restore_ps"+7" (echo %%a[ "8" ]>>"%dest%") else (
if "%%b" neq "" (echo %%a[%%b>>"%dest%") else (
echo %%a>>"%dest%"
)))
pause
Попробуй через Powershell. В командной строке ввести команду powershell, появится приглашение оболочки с пометкой PS и уже в ней можно вводить команды для поиска и замены. Создать файл 2.txt из 1.txt где +7 будет заменено на 8 можно командой:
cat 1.txt | % { $_ -replace "\+7","8" } | Out-File 2.txt -encoding default
Так как плюс является специальным символом он экранируется обратным слешем, перед обычными символами слеш ставить не надо. Это будет работать с файлами любого размера, но поскольку powershell работает медленно то файл в пару гигабайт проще оставить обрабатываться на ночь, чем ждать.
Если нужно быстрее, то можно скачать специализированные утилиты типа gsar, или обрабатывать файлы на линуксе - тут страницей выше приводился пример использования команды sed. Опять же повторюсь, что если размер файла не превышает 200 мегабайт, то любой поиск и замену удобно и быстро делать в notepad++.
|
|
|