У меня есть гигантский файл с тысячами строк, я хочу удалить только строки, которые имеют слово "Foo" в них.
Как я пошел бы о выполнении этого? Я нахожусь на Mac, таким образом, я мог использовать некоторую утилиту командной строки, но я предпочту использовать TextWrangler.
Редакторы большей части графического программиста не позволяют Вам удалять строки как это, но только изменять их содержание. Это может быть сделано путем замены ^.*Foo.*$
ни с чем.
Если Вы готовы смотреть на внешний инструмент затем, это может быть сделано путем проникновения sed "/Foo/d"
.
Используйте регулярное выражение для нахождения строк, затем замените их пустой строкой.
Вот страница, которая объясняет, как создать регулярное выражение:
http://www.regular-expressions.info/completelines.html
Сделать это в TextWrangler:
Быстрая командная строка для этого:
grep -v myword myfile > newfile
Если Вы поиск-и-замена ^.*Foo.*\r
ни с чем (с "Использованием Grep" включил), это полностью избавится от строк с "Нечто" в них, не просто очистит их. Единственный предел - то, что это не будет работать над последней строкой в файле. (Замена \r.*Foo.*$
ни с чем работал бы над последней строкой, но не первым.)