Как удалить все строки, которые содержат слово с TextWrangler?

У меня есть гигантский файл с тысячами строк, я хочу удалить только строки, которые имеют слово "Foo" в них.

Как я пошел бы о выполнении этого? Я нахожусь на Mac, таким образом, я мог использовать некоторую утилиту командной строки, но я предпочту использовать TextWrangler.

4
задан 12.07.2010, 21:09

4 ответа

Редакторы большей части графического программиста не позволяют Вам удалять строки как это, но только изменять их содержание. Это может быть сделано путем замены ^.*Foo.*$ ни с чем.

Если Вы готовы смотреть на внешний инструмент затем, это может быть сделано путем проникновения sed "/Foo/d".

1
ответ дан 07.12.2019, 19:06

Используйте регулярное выражение для нахождения строк, затем замените их пустой строкой.

Вот страница, которая объясняет, как создать регулярное выражение:

http://www.regular-expressions.info/completelines.html

Сделать это в TextWrangler:

  1. Выберите Find из меню Search.
  2. Проверьте флажок Grep.
  3. Введите регулярное выражение в Находку: текстовое поле.
  4. Выберите затем.
1
ответ дан 07.12.2019, 19:06

Быстрая командная строка для этого:

grep -v myword myfile > newfile
1
ответ дан 07.12.2019, 19:06

Если Вы поиск-и-замена ^.*Foo.*\r ни с чем (с "Использованием Grep" включил), это полностью избавится от строк с "Нечто" в них, не просто очистит их. Единственный предел - то, что это не будет работать над последней строкой в файле. (Замена \r.*Foo.*$ ни с чем работал бы над последней строкой, но не первым.)

0
ответ дан 07.12.2019, 19:06

Теги

Похожие вопросы