@alex1478

Как удалить шаблон из всех файлов?

Добрый день. Есть около 1000 почти одинаковых html файлов. Мне нужно удалить из каждого определённый кусок, содержащий текст и теги. Я вырезал его вручную из одного файла и сохранил как remove.txt. Как мне использовать этот файл в качестве шаблона и вырезать его из остальных файлов?
Важный момент: кусок, который нужно вырезать, начинается не с новой строки и заканчивается тоже не концом строки.
  • Вопрос задан
  • 345 просмотров
Пригласить эксперта
Ответы на вопрос 2
keeplod
@keeplod
Напиши скрипт который будет вырезать нужный тебе код
Ответ написан
shabelski89
@shabelski89
engineer
Переменная string получит в себя строку из файла (не проверял на сложных конструкция(тестом была короткая фраза)), далее цикл переберет в указанной папке все файлы и с каждой итерацией запишет в переменную var имя файла, sed -n заглушит вывод в stdout , по шаблону из string удалит строки в файле и запишет новый файл без этих строк. На тестовом стенде работает, ключевой момент остается что получит string.

#!/bin/bash
string=$(cat /путь_до_файлов/remove.txt)
for var in $(ls -1 /путь_до_файлов)
do
        sed -n "/$string/d" $var > /путь_до_новых_файлов/$var
done
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы