@HAbRAhabp

Удалить строки, не содержащие определенное значение?

Возникла необходимость удалить все строки из 10 файлов, которые не содержат
uk.html?subid=adwords
Как это оптимальнее всего сделать? Обычные текстовые файлы, в UTF-8
  • Вопрос задан
  • 2889 просмотров
Решения вопроса 1
DevMan
@DevMan
одиночный файл:
sed -i '/uk.html?subid=adwords/!d' /path/to/file
все файлы в директории:
ls /path/to/dir/* | while read file; do sed -i '/uk.html?subid=adwords/!d' "${file}"; done
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
vaut
@vaut
perl, awk, sed, grep -- выбирайте что по вкусу
для awk что то вроде
/uk.html\?subid\=adwords/{print $0}

Для grep как то так:
grep -v "uk.html?subid=adwords" file > tmp && rm file && mv tmp file
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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