t.t писал(а): ↑29.04.2009 19:30
reformail, который гарантировано понимает такие заголовки, принимает их только из командной строки; как фильтр он в таком режиме не работает. Но даже не в этом проблема. Проблема в том, что любому перекодировщику нужно отдать (и получить, соответственно), только содержимое поля Subject (даже без заголовка) -- а после него отдать на выход все заголовки, причём желательно в том же порядке, в котором они шли в оригинальном письме.
ну и я про то:
перекодировщик ведь из потока берёт? вот и меняем строку с заголовком командой sed
s/.../.../
e
она будет вызывать ваш перекодировщик.
вот одна команда sed, которая просматривает лог загрузки, выделяет строки про загруженный файл, приводит имя файла в понятный для shell формат, затем запускает команду file для каждого этого файла, а потом раскрашивает результат работы. В вашем случае конечно проще намного будет
$
cat logfile | sed -rn '/Загрузка завершена:.+South Park/!b
s/.+Загрузка завершена: /: /
s/[] ()[]/\\&/2g
s/: /: \/home\/amule\/.aMule\/Incoming\//
s/:/file/ep'|sed -r '
s/\/home\/amule\/.aMule\/Incoming\///
s/^([^:]+): /\x1b[32m\1\x1b[0m:\n/
s/, video:/\nvideo:/
s/, audio:/\naudio:/
'
ed2kForAll.South Park - 02xAll - Season 2 (TVRip, Rus-Goblin).avi.emulecollection:
ASCII text, with CRLF line terminators
South Park 1x01 Cartman Gets an Anal Probe [rus] Южный парк 1x01.avi:
RIFF (little-endian) data, AVI, 512 x 384, 25.00 fps
video: DivX 5
audio: MPEG-1 Layer 3 (mono, 44100 Hz)
ed2kForAll.South Park - 01xAll - Season 1 (TVRip, Rus-Goblin).avi.emulecollection:
data
South Park 10x10 Miss Teacher Bangs a Boy [rus] Южный парк 10x10.avi:
RIFF (little-endian) data, AVI, 576 x 416, 23.98 fps
video: XviD
audio: MPEG-1 Layer 3 (mono, 44100 Hz)
South Park - Imaginationland [rus] Южный парк - Воображляндия (2008) [полнометражный].avi:
RIFF (little-endian) data, AVI, 720 x 400, 23.98 fps
video: DivX 5
audio: MPEG-1 Layer 3 (stereo, 48000 Hz)