Ответ 1
Sed (редактор потока для фильтрации и преобразования текста) - ваш друг.
sed -i 's/old text/new text/g' file
Sed выполняет преобразования текста за один проход.
Мне нужно найти и заменить задачи на довольно большом файле размером около 47 ГБ.
Кто-нибудь знает, как это сделать? Я пробовал использовать такие сервисы, как TextCrawler, EditpadLite и многое другое, но ничего не поддерживает этот большой файл.
Я предполагаю, что это можно сделать через командную строку.
Есть ли у вас идея, как это можно сделать?
Sed (редактор потока для фильтрации и преобразования текста) - ваш друг.
sed -i 's/old text/new text/g' file
Sed выполняет преобразования текста за один проход.
Я использую FART - Найдите и замените текст Лионелло Люнесу.
Он отлично работает на Windows Seven x64.
Вы можете найти и заменить текст, используя следующую команду:
fart -c big_filename.txt "find_this_text" "replace_to_this"
В Unix или Mac:
sed 's/oldstring/newstring/g' oldfile.txt > newfile.txt
быстро и легко...
Если вы используете Unix-подобную систему, вы можете использовать cat | sed сделать это
cat hosted_domains.txt | sed s/com/net/g
Пример заменяет com сетью в списке имен доменов, а затем вы можете передать вывод в файл.
Для меня ни один из предложенных здесь инструментов не работает. Textcrawler съел всю память компьютера, SED не работал вообще, Editpad жаловался на память...
Решение: создайте свой собственный script в python, perl или даже С++.
Или используйте инструмент PowerGrep, это самый простой и быстрый вариант.
Я не пробовал пердеть, это только командная строка и, возможно, не очень дружелюбная.
Некоторые hex-редактор, например Ultraedit, также хорошо работают.
С sed (редактор потока для фильтрации и текста trasformation) он выполняет преобразование текста за один проход.
sed -i 's/old/new/g' bigfile.txt
Я использовал
sed 's/[nN]//g' oldfile.fasta > newfile.fasta
чтобы заменить все экземпляры n в моем файле 7Gb.
Если я опустил аспект > newfile.fasta
, потребовался возраст, так как он прокручивал экран, показывая мне каждую строку файла.
С > newfile
он запустил его в считанные секунды на сервере ubuntu