Удалить все строки, которые не содержат определенного слова в kate

751
JakobH

У меня очень большой файл, и я хочу удалить все строки, которые не содержат слово «xyz».

Как это можно сделать в Кейт?

0
Эта задача лучше подходит для командной строки. Вы действительно должны использовать Кейт? Larssend 8 лет назад 0
@geewee нет, я не. Терминальная команда была бы одинаково хороша JakobH 8 лет назад 0

1 ответ на вопрос

1
MariusMatutiae

Если вы используете Nix или используете Cygwin, тогда

sed -i '/xyz/!d' filename 

сделаю это для вас из CLI.

-iФлаг инструктирует СЭД непосредственно изменять файл. На самом деле, первое, что вы должны сделать, это запустить

sed '/xyz/!d' filename | more 

поскольку это не повлияет на исходный файл, выведите исправленный вывод на экран (отсюда и команда more, которая позволяет аккуратно проанализировать вывод), чтобы вы могли проверить, что все работает так, как вы хотели. Если выполнено, вы можете запустить команду с -iопцией.

Очевидно, /xyx/это шаблон поиска, и !dдействие для выполнения (= не удалять), строка за строкой.

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