LINUX.ORG.RU

Что, получил задницу из-за своей упоротости?

На тебе скрипт для переименования в транслит:

rmspaces
for Name in `ls -1`
do
    Newname=`echo "$Name"| enconv | sed -e \
    "y/йукенгзхъфывапролдэсмитьбЙУКЕНГЗХЪФЫВАПРОЛДЭСМИТЬБ/jukengzh'fyvaproldesmit'bJUKENGZH'FYVAPROLDESMIT'B/"\
    -e "s/ц/tz/g"	\
    -e "s/ш/sh/g"	\
    -e "s/щ/sch/g"	\
    -e "s/ж/zh/g"	\
    -e "s/ч/ch/g"	\
    -e "s/ю/yu/g"	\
    -e "s/я/ya/g"	\
    -e "s/ё/yo/g"	\
    -e "s/Ё/YO/g"	\
    -e "s/Ц/TZ/g"	\
    -e "s/Ш/SH/g"	\
    -e "s/Щ/SCH/g"	\
    -e "s/Ж/ZH/g"	\
    -e "s/Ч/CH/g"	\
    -e "s/Ю/YU/g"	\
    -e "s/?/_/g"	\
    -e "s/Я/YA/g"`
    if [ "$Name" != "$Newname" ]; then
        mv "$Name" "$Newname"
	echo -e "$Name   ->    $Newname                             \r\c"
    fi
    if [ -d "$Newname" ]; then
	cd "$Newname"
	echo -e "\n\nDiving into $Newname"
	rename_translit
	cd ../
    fi
done

А вот этот — удаляет пробелы:

#!/bin/sh
# this script has been written by Eddy 
#
#		rmspaces -- убирает пробелы в именах файлов
#
# Создан 20-го Сентябрь 2004 года в 20:57
#
#list=/tmp/rmspaces.$$
#ls -1 > $list

ls -1 | while read file; do 
	new=$(echo "$file"|tr " " "_");
	echo ". $file -> $new"
	if [ "$new" != "$file" ]; then
		echo ".$file  RENAMED INTO   $new"
		mv ".$file" "$new"
	fi
	
done
exit
ls -1 | while read file; do
    new=$(echo "$file" | tr " " "_")
    if [ "$new" != "$file" ]; then
    	echo ".$file  RENAMED INTO   $new"
	mv ".$file" "$new"
	
    fi
    if [ "$1" = "-r" -a -d "$new" ]; then
        cd "$new"
	echo -e "\t\tDiving into $PWD"
        rmspaces -r
        cd ../
    fi
done #< $list

Eddy_Em ☆☆☆☆☆
()

Получается отконвертировать только кириллицу в кириллицу.

А ты хочешь получить из кириллицы клинопись или что?

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

Тут в каком-то непонятном мне виде написано слово привет.pdf

Как

Content-Disposition: attachment; filename=«=?koi8-r?B?0NLJ18XULnBkZg==?=»;

Превратить в привет.pdf?

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

Это из-за того, что тот, кто тебе файл отдает, сильно упорот. Вместо того, чтобы отдавать имя как есть, он его зачем-то в base64 пихает. Наркоман.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от steemandlinux

А интересно почему они именно koi8 используют? Или эти настройки на сервере делаются?

В клиентской почтовой программе. Тебе письма шлет либо Эдди_Эм, либо кто-то из его родственников :)

Кстати, вот еще немного чтива — https://tools.ietf.org/html/rfc2047. Особо обрати внимание на «The "B" encoding» и «The "Q" encoding».

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

А интересно почему они именно koi8 используют?

К слову, если бы на клиенте была utf-8, то имена файлов с non-ascii'шными символами кодировались бы аналогично с той лишь разницей, что вместо koi8-r было бы utf-8.

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

Это с outlook`а подрубленному по MAPI к ms exchange шлют на gmail.com. Т.к. mutt автоматизировать не удалось, на gmail.com захожу через openssl.

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

Но оно бы меня так не смутило :) А здесь я подумал, что это какой-то хитровывернутый вариант koi8-r.

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

Особо обрати внимание на «The "B" encoding» и «The "Q" encoding»

Вот я и говорю: наркоманы! Т.е. в явном виде байтики передавать — не, не судьба?

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

А вообще, за кириллицу и пробелы в именах файлов надо по рукам бить!

Уж если за что и бить, то за несоблюдение RFC и прочих стандартов. А также за навязывание latinitsy_i_otsutstviya_probelov в именах файлов.

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

Это с outlook`а подрубленному по MAPI к ms exchange шлют на gmail.com.

Давно не видел outlook, но ЕМНИП в нем можно менять кодировку. Другое дело, что пытаться приставить свою голову всем твоим корреспондентам — дело заведомо провальное.

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

Я смотрю Google любит koi8-r

X-Notification-Category: CIRCLE
X-Notification-Type: CIRCLE_EXPLICIT_INVITE
Reply-To: "Google+" <noreply-7eb46b05@plus.google.com>

Subject: =?KOI8-R?B? ...
From: "Google+" <noreply-7eb46b05@plus.google.com>

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

Этот «стандарт» разрабатывали совершенно обколовшиеся укурки!

ТруЪ-UNIX'оиды, ты хотел сказать? Эту хрень сделали чтобы труъ-юникс-сендмыл с семибитными байтами не портил сообщений. Там еще где-то есть ограничение на длину строк без переноса в 80 символов, чтоб в труъ-юникс консоли читать было удобнее. И на перфокарту влезает!

anonymous
()
Ответ на: комментарий от steemandlinux

Если ты делаешь mail2fax gate, то зачем имена приводить в исходное состояние? Факсу на имена пофигу.

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

В теме вообщения телефончик на который должен уйти факс.

А в названии файла расширение, от которого зависит запустится libreoffice, imagemagick или ghostscript.

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

В теме вообщения телефончик на который должен уйти факс.

Ну и где здесь имена файлов?

А в названии файла расширение,

Фи, mime же есть.

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

Я смотрю Google любит koi8-r

Зато mail.ru любит юникод :)

Subject: =?UTF-8?B?UmU6INGC0YDQtdC90LjRgNC+0LLQvtGH0L3QsNGPINGB0YLRgNCw0L3QuNGH?=
 =?UTF-8?B?0LrQsA==?=
MIME-Version: 1.0
X-Mailer: Mail.Ru Mailer 1.0
X-Originating-IP: [82.146.41.57]
dexpl ★★★★★
()
Ответ на: комментарий от sdio

Ну и где здесь имена файлов?

Там тоже base64 или QP, бывает и ASCII. Просто перестаховка от дефачек, которые пишут в теме «телефончик 8-966-666-13-13»

Фи, mime же есть.

Где?

(echo '. LOGIN s.brin@gmail.com Serega'; echo '. SELECT inbox'; echo '. UID FETCH 4 (BODY[])';  echo '. logout' ) | openssl s_client -crlf -ign_eof -connect imap.gmail.com:993 | grep -i mime

MIME-Version: 1.0

А по первым байтам OOXML путается с архивами.

steemandlinux ★★★★★
() автор топика
Ответ на: комментарий от steemandlinux
$ file файл.docx
файл.docx: Microsoft Word 2007+

я надеюсь ты используешь munpack для потрошения письма, а не ковыряешь его вручную

sdio ★★★★★
()
Последнее исправление: sdio (всего исправлений: 2)
Ответ на: комментарий от sdio

Хаха, я нагородил велосипедов, оказывается достаточно было использовать offlineimap + munpack. Уже сделал извлекалку темы, имени вложения и самого вложения *FACEPALM*.

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

Хотя не все так однозначно, munpack темы не вытаскивает. А писать номер телефона в тело письма бесполезно, там подписи мешают.

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

Subject: вытащить несложно. А на файлы после munpack'a натравить file и по результатам отправить .doc*, .odt, .pdf, .ps на факс тоже плевое дело.

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