Из всего этого безобразия хотелось бы вытянуть посты по маске пользователя в один файл и имена файлов где встречается такой пользователь в другой файл.
под спойлером кусок кода из файла с которым нужно работать. в самом файле естественно куча другого "мусора", который надо игнорить.
Spoiler
Код: Выделить всё
<!--Begin Msg Number 47270-->
<table class='ipbtable' cellspacing="0">
<tr>
<td valign="middle" class="post_head" width="1%">
<a name="entry47270"></a>
<div id="post-member-47270" class='popmenubutton-new-out'>
<span class="normalname">
<img src='style_images/pro1193739588/folder_profile_portal/user-offline.png' alt='' border='0' /><a href='http://www.domain.com/ipb/index.php?showuser=3408'>USER_NAME</a></span>
</div>
<!-- member menu -->
<div class='popupmenu-new' id='post-member-47270_menu' style='display:none;width:230px'>
<div class='popupmenu-item-last'>
<div style='float:right'>
<div class='pp-image-thumb-wrap'>
<img src='style_images/pro1193739588/folder_profile_portal/pp-blank-thumb.png' width='50' height='50' alt='' />
</div>
<div style='margin-top:5px;margin-left:6px;'>
<img src="style_images/pro1193739588/rating_0_mini.gif" alt='Рейтинг: 0' style='vertical-align:middle' border='0' />
</div>
</div>
<div class='popupmenu-item'>
<img src='style_images/pro1193739588/folder_profile_portal/gender_mystery.png' id='pp-entry-gender-img-3408' alt='' border='0' />
<a href="http://www.domain.com/ipb/index.php?showuser=3408">Просмотр профиля</a>
</div>
<div class='popupmenu-item'>
<img src='style_images/pro1193739588/folder_profile_portal/friend_add_small.png' alt='' border='0' /> <a href="#" onclick='friends_pop("&do=add&member_id=3408&md5check=f43a44465092388bc3bf2a3c37128507"); return false'>Добавить в друзья</a>
</div>
<div class='popupmenu-item'>
<img src='style_images/pro1193739588/folder_profile_portal/send_pm_small.png' alt='' border='0' /> <a href="http://www.domain.com/ipb/index.php?act=Msg&CODE=4&MID=3408">Отправить сообщение</a>
</div>
<div class='popupmenu-item'>
<img src='style_images/pro1193739588/folder_profile_portal/find_posts.png' alt='' border='0' /> <a href='http://www.domain.com/ipb/index.php?act=Search&CODE=gettopicsuser&mid=3408'>Найти темы пользователя </a>
</div>
<div class='popupmenu-item-last'>
<img src='style_images/pro1193739588/folder_profile_portal/find_posts.png' alt='' border='0' /> <a href='http://www.domain.com/ipb/index.php?act=Search&CODE=getalluser&mid=3408'>Найти сообщения пользователя</a>
</div>
</div>
</div>
<!-- member menu -->
<script type="text/javascript">
ipsmenu.register( "post-member-47270", '', 'popmenubutton-new', 'popmenubutton-new-out' );
</script>
</td>
<td class="post_head" valign="middle" width="99%">
<!-- POSTED DATE DIV -->
<div style="float: left;">
<span class="postdetails"> <img src='style_images/pro1193739588/to_post_off.gif' alt='сообщение' border='0' style='padding-bottom:2px' /> 12.4.2006, 12:27</span>
</div>
<!-- REPORT / DELETE / EDIT / QUOTE DIV -->
<div align="right">
<span class="postdetails"> Сообщение
<a title="Ссылка на это сообщение" href="http://www.domain.com/ipb/index.php?showtopic=2775&view=findpost&p=47270" onclick="link_to_post(47270); return false;">#1</a>
</span>
</div>
</td>
</tr>
<tr>
<td valign="top" class="post2 post_left">
<span class="postdetails">
<br /><br />
Гость<br />
<img src='style_images/pro1193739588/pip.gif' border='0' alt='*' /><br /><br />
Группа: <span style='color:green'>Пользователи</span><br />
Сообщений: 35<br />
Регистрация: 18.1.2006<br />
Из: spb.ru<br />
Пользователь №: 3.408<br />
<br />
</span><br />
<img src="style_images/pro1193739588/spacer.gif" alt="" width="160" height="1" /><br />
</td>
<td width="100%" valign="top" class="post2" id='post-main-47270'>
<!-- THE POST 47270 -->
<div class="postcolor" id='post-47270'>
ну что, касманафты, с праздником )))<br /><br /><a href="http://chipigik.weles.ru/postcards/12aprelya.swf" target="_blank">http://chipigik.weles.ru/postcards/12aprelya.swf</a>
<!--IBF.ATTACHMENT_47270-->
</div>
<!-- THE POST -->
</td>
</tr>
<tr>
<td class="formbuttonrow" nowrap="nowrap">
<div style='text-align:left'><a href="java script:scroll(0,0);"><img src='style_images/pro1193739588/p_up.gif' border='0' alt='Перейти в начало страницы' /></a><a href="http://www.domain.com/ipb/index.php?act=report&t=2775&p=47270&st=0"><img src='style_images/pro1193739588/p_report.gif' border='0' alt='Сообщить о сообщении' /></a></div>
</td>
<td class="formbuttonrow" nowrap="nowrap">
<!-- PM / EMAIL / WWW / MSGR -->
<div style="float: left;">
</div>
<!-- REPORT / UP -->
<div align="right">
<a href="#" onclick="multiquote_add(47270); return false;" title="Добавить к многочисленным цитатам"><img src="style_images/pro1193739588/p_mq_add.gif" name="mad_47270" alt="+" /></a><a href="http://www.domain.com/ipb/index.php?act=Post&CODE=02&f=8&t=2775&qpid=47270" title="Ответить прямо в этом сообщении"><img src='style_images/pro1193739588/p_quote.gif' border='0' alt='Цитировать сообщение' /></a>
</div>
</td>
</tr><tr>
<td class="catend" colspan="2">
<!-- no content -->
</td>
</tr>
</table>
<!--Begin Msg Number 47273-->
как видно блок сообщения находится между тегами
<!--Begin Msg Number 47270-->
и
<!-- no content -->
имя юзера или его ID находятся в такой строке:
Код: Выделить всё
<img src='style_images/pro1193739588/folder_profile_portal/user-offline.png' alt='' border='0' /><a href='http://www.domain.com/ipb/index.php?showuser=3408'>USER_NAME</a></span>
само сообщение находится между такими тегами
Код: Выделить всё
<!-- THE POST 47270 -->
<div class="postcolor" id='post-47270'>
ну что, касманафты, с праздником )))<br /><br /><a href="http://chipigik.weles.ru/postcards/12aprelya.swf" target="_blank">http://chipigik.weles.ru/postcards/12aprelya.swf</a>
<!--IBF.ATTACHMENT_47270-->
</div>
<!-- THE POST -->
то есть надо рекурсивно обойти все *.htm файлы, искать в них Юзера по маске (имя или ИД), находить границы сообщения этого юзера, вытягивать оттуда текст самого сообщения между тегами THE POST и добавлять этот текст в отдельный файл.
для обработки каждого файла насколько я понимаю должен быть отдельный цикл, ведь может быть несколько сообщений.
Код: Выделить всё
#!/bin/bash
LIST=$(find . -type f -name "*.htm")
for f in $LIST; do
echo "$f"
done
находим файлы которые надо в дальнейшем обрабатывать
$ for f in $LIST; do echo "$f"; done | head -4
./index.htm
./ipb/index.php.act=attach&code=showtopic&tid=6064.htm
./ipb/index.php.showtopic=1186.htm
./ipb/index.php.act=attach&code=showtopic&tid=3551.htm