view mobile version net4me Enable JavaScript in your browser! Linux education center net4me.
 
net4me logo

tux

linux commands
shell script
protocol
ip, tcp, smtp, ntp, ftp
telnet terminal
java and javascript
ajax web technology
documentation
howto, man, info
cisco in network
linux server
linux in home
online utility
and more more more.
python development
туе4ьу дштгч

  Содержание подраздела:

Скажу сразу, что не горжусь тем, что сделал.
Но суть не в этом.
Иногда возникает необходимость добавить свой текст сразу в несколько файлов.
Например, есть баш туториал
А мне надо в конец каждой страницы добавить информацию о том,
что данный великий труд находится на моём жалком ресурсе.
Да не просто поставить, а вставить перед последними тегами </body> </html>

И как это сделать? ( ll abs-guide/*.html |wc -l целых 101 страниц! )
Неужели в ручную добавлять свой кусок к каждому файлу?!

Это не наш метод! Мы же перечитали этот самый туториал вдоль и поперек!
Пишем скрипт:

#!/bin/bash
# переименовываем все name.html в NAME.HTML:
for x in *.html; do mv $x `echo $x | tr [a-z] [A-Z]`; done
# Выводим .HTML файл без тегов </body> и </html> и наш ../footer.html в файл с тем же именем, но уже .html
for x in *.HTML;
do
cat $x |grep -ivE '</body|</html' > `echo $x | tr [A-Z] [a-z]`
# или еще вариант:
# cat $x |sed '/<\/[bB][oO][dD][yY]/q'| sed 's/<\/[bB][oO][dD][yY]*.//'
# то есть выводим до body или BODY, удаляем сам body.
# можно оптимизировать скрипт до бесконечности, пока не останется только 1 строка на perl =) 
cat ../footer.html >> `echo $x | tr [A-Z] [a-z]`;
wait;
done
# Удаляем старые ФАЙЛЫ за ненадобностью:
rm *.HTML
exit 0;
# end

Чмодим скрипт на выполнение. (обзовем его footer.sh)
Пишем в ../footer.html наш текст о том, что сие нетленное творение
приобрело пристанище на нашем захудалом сайте.
Добавляем в конец </body> и </html>
переходим в директорию с html страницами и оттуда запускаем ../footer.sh
Жем пару минут.
И получаем результат.

P.S. На самом деле, правильнее было `echo $x | tr [A-Z] [a-z]` присвоить какой-нить
переменной, а не юзать по два раза в цикле, но писалось всё как всегда на скорую руку. =)
:wq

P.S. Внесены поправки (было не видно html тегов </body> и </html>).
home back top
При копировании материалов нашего портала, сылка на net4me обязательна.
Рейтинг@Mail.ru   Valid HTML 4.01 Transitional     Яндекс цитирования   best billing

 



...

net4me snowflake
rfc2368
 
net4me portal This page last modified: Saturday, October 1, 2011   be in net. net4me

portal net4me linux education center