Напишите сценарий оболочки, который получает файлы в качестве параметров:
#!/bin/bash
for filepath; do
parentpath="${filepath%/*}"
if [ "$parentpath" != "$filepath" ]; then # $file contains a /
file="${filepath#"$parentpath"/}"
else
file="$filepath"
parentpath=""
fi
filename="${file%.*}"
if [ -z "$parentpath" ]; then
mkdir -p "$filename" && mv "$file" "$filename"
else
mkdir -p "${parentpath}/$filename" &&
mv "$filepath" "${parentpath}/$filename"
fi
done
Вы можете вызвать этот сценарий как ./script *.ext1 *.ext2 *.ext3
для не слишком большого количества файлов или как find ... -exec ./script {} +
для огромного количества.
Когда товарный знак пользуется большим успехом, он может стать общим названием того, чем он наиболее известен. Что-то очень похожее произошло с командой /usr/sbin/sendmail
в системах Linux и Unix.
Когда Postfix установлен, /usr/sbin/sendmail
на самом деле не является Sendmail -, это просто компонент Postfix, предоставляющий тот же интерфейс (, то есть те же опции и соглашения о конвейерной цепочке ), что и Sendmail.
Postfix был разработан как замена Sendmail. Оказывается, многие программы будут взаимодействовать с почтовой подсистемой, вызывая /usr/sbin/sendmail
с хорошо -известными опциями и передавая ей всякие штуки. Поэтому Postfix должен поддерживать и это.
При использовании Spamassassin сообщение должно быть передано на spamc
для обнаружения спама. Так как он собирается добавить к сообщению хотя бы несколько заголовков, указывающих на то, что проверка на спам была выполнена и ее результаты (и, если сообщение является спамом, уведомление в начале содержимого сообщения ), spamc
должен затем передать сообщение обратно в Postfix для окончательной доставки.
Обратите внимание, что Postfix считает «канал» транспортным методом , или, другими словами, если сообщение отправлено на spamc
, Postfix считает свою работу выполненной в этот момент. Таким образом, сообщение, проверенное на спам -, должно быть повторно -введено обратно в процесс обработки Postfix -, и это то, что делает команда sendmail
.
Ключевое слово content_filter
делает меньше, чем можно было бы ожидать -оно просто указывает Postfix передать сообщение, пришедшее с помощью smtpd
, определенному транспортному методу. Он не ожидает возврата какого-либо содержимого автоматически.:Если метод транспортировки фильтра содержимого _проглатывает сообщение без вывода, работа Postfix выполнена. Если что-то осталось после того, как сообщение прошло через фильтр, задача фильтра состоит в том, чтобы снова вернуть его к обработке.
Существует по крайней мере еще один способ добиться того же самого , но в конечном итоге он будет использовать команду sendmail
для повторной -вставки почты после проверки на спам.
Если вы уверены, что этот Postfix будет обрабатывать только входящую почту, вы, вероятно, могли бы настроить spamc
для передачи сообщения непосредственно в Dovecot.
sendmail не задействован. Это просто исполняемый файл с постфиксом, и он называется так по историческим причинам и для совместимости.
посмотрите справочную страницу:
SENDMAIL(1) General Commands Manual
NAME
sendmail - Postfix to Sendmail compatibility interface
SYNOPSIS
sendmail [option...] [recipient...]
[...]
РЕДАКТИРОВАТЬ:(добавлено после вашего комментария)
Вы можете изменить его с помощью LDA dovecot, но, конечно, это будет работать только для местной доставки. Вы также можете проверять на спам исходящие электронные письма, и они не будут работать с dovecot. Полный отказ от ответственности :Я не проверял всю вашу конфигурацию:)