LinuxForum.Fans
Тема

Помогите реализовать задачу

Автор: valet 4 сообщений 1204 просмотров
#239760

Знаю что в sed такое реализовать нельзя, а с awk пока не знаком.

Задача такая.
Имеем html-текст, в котором встречаются атрибуты width разных элементов. Например:

text
...
width="45"
...
width="75"
...

Их надо заменить на такие:

text
...
width="[RAND-45-55]"
...
width="[RAND-75-85]"
...

То есть получить второе значение на 10 больше, чем первое.
Другими словами - надо заменить каждое вхождение: width="значение" на width="[RAND-значение-значение+10]"

#239802

Ну можно же вычленить это число, увеличить на 10 и sed'ом заменить.
Всё это легко реализовать на bash.

#239903
text

perl -pe 's/(width=")(\d+)"/"$1\[RAND-$2-" . ($2+10). "\]\""/ge' /путь/к/файлу
#240037

liaonau, отлично, спасибо, работает!

Войдите или зарегистрируйтесь, чтобы ответить.