LINUX.ORG.RU

Текстовые артефакты в tmpfs


0

1

При парсинге RSS для частообновляемых текстовых файлов использую виртуальный tmpfs каталог. При этом в файлах нет-нет, да и попадутся блохи такого вида (подчёркнуто)

lj.rossia.org не работает: Друзья, наш английский провайдер не отвечает, где-то с полночи 11-го июня, и lj.rossia.org тоже не отвечает. Вылетела, похоже, вся стойка. Надеюсь, что в скором времени починят. Это первый такой случай за много лет. Привет -------------------------------------------------------------------------------------------------------------- : LJR, кстати, адски ддосят. Роисся вперде! Потупчик виноват, не иначе -------------------------------------------------------------------------------------------------------------- : Вот копия моего поста из LJR, если у кого-то уже не работает. * Addictive Drums asterisk-gui Balabolka cookies.txt dead.letter Desktop dmesg.txt Documents Downloads example s.desktop fullscreenhack-master hts-log.txt Image-Line Moyea Music My Games mymenu myscripts Native Instrument s obcount obmenu_mod Pictures piyavking.png rsslist tintwizard tmp wallpapers websites xmenud XTerm Addictive Drums asterisk-gui Balabolka cookies.txt dead.letter Desktop dmesg.txt Documents Downloads examples.desktop fu llscreenhack-master hts-log.txt Image-Line Moyea Music My Games mymenu myscripts Native Instruments obcount ob menu_mod Pictures piyavking.png rsslist tintwizard tmp wallpapers websites xmenud XTerm Кстати, сейчас домен rossia.org отключат, надеюсь, что ненадолго. А суть такова: From: RU-CENTER NCC ru-ncc@nic.ru> To: verbit@mccme.ru, noc@rossia.org Reply-To: RU-CENTER NCC ru-ncc@nic.ru>

Влезают, как я понимаю, посторонние имена файлов и каталогов. Есть ли соображения, как поправить положение?

★★★★★

Это у вас звездочка распарсилась, и вместо нее подставились, собственно, все ваши файлы и директории из, вероятно, домашнего каталога, или откуда там. Как вы обрабатываете этот файл?

ValdikSS ★★★★★
()
Ответ на: комментарий от ValdikSS

А, вот оно что, а я думал - память глючит, вот кусок скрипта, отвечающий за парсинг (уже без tmpfs). Получаю в rssurl строчку из файла ~/.conky/rsslist, в этой строчке первым словом идёт адрес потока, сохраняю поток в файл ~/tmp/rss, потом этот файл декодирую средствами php с вырезанием лишних пробелов в ~/tmp/rss.xml, и в 9 строчке основная обработка с конечным результатом ~/tmp/conkyrss (чехарда с iconv в koi8-r и обратно нужна для корректной нарезки строк файла по ширине, потому, что fold с utf-8 плохо себя ведёт):

        sep='--------------------------------------------------------------------------------------------------------------'
        rssurl=$(shuf ~/.conky/rsslist | head -n 1)
        curl -A "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" $(echo $rssurl | awk -F' ' '{print $1}') | xmlstarlet sel -t -m /rss/channel/item -v 'title' -o ':' -n -v 'description' -n -o $sep -n > ~/tmp/rss
        cp /dev/null ~/tmp/rss.xml
        while read line
        do
                echo $line | php ~/.conky/decode.php | php ~/.conky/decode.php | sed -e 's/\xc2\xa0/\ /g' | tr -s [:blank:] >> ~/tmp/rss.xml
        done < ~/tmp/rss
        cat  ~/tmp/rss.xml | sed -e 's/<br \/>/\ \n/g' | sed -e :a -e 's/<[^>]*>//g;/</N;//ba' | sed -re "s/(f|ht)tp[s]*:\/\/[^\ \<]*//g" | iconv -f utf-8 -t koi8-r//translit | sed -e 's/<</\"/g' | sed -e 's/>>/\"/g' | sed -e 's/--\ /-\ /g' | fold -w 110 | iconv -f koi8-r -t utf-8 | sed -e "/repost/,/-->/g" | sed -e "/Tweet/,/-->/g" | sed -e 's/-->//g' | awk 'NF>0' > ~/tmp/conkyrss

~/.conky/decode.php:

<?php   
$text = fgets(STDIN);
$html = html_entity_decode($text);
echo $html;             
?>

piyavking ★★★★★
() автор топика
Ответ на: комментарий от piyavking

а что вместо них?

sed позволяет задавать сколько угодно ключей -e, будут выполняться последовательно. sed -e '...' -e '...' -e '...'.

KRoN73 ★★★★★
()
Ответ на: комментарий от piyavking

Нет, вроде. Но там же целая программа в выражении, можно сколько угодно действий размещать,

$ echo 1| awk -e '{$1=$1+1; $1=$1+1; print $1}'
3

KRoN73 ★★★★★
()
Ответ на: комментарий от piyavking

Пасри нормально. Регепсы не для html.
Xslt или сам в dom'ушку, а потом куда надо.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.