Чтобы сделать это, необходимо было 'знать' сервер к Интернету так, чтобы остальная часть мира (включая почту Google) знала, где продвинуть электронные письма. И затем выполненный MTA на Вашем сервере (как постфикс), с которым может соединиться внешний мир, для поставки электронной почты. MTA затем ответственен за поставку каталог шпульки.
Я вполне уверен, который требует фиксированного IP-адреса, где Ваш сервер может быть достигнут, и сервер, который онлайн большую часть времени.
Если это только для единственной учетной записи, намного легче создать специальный почтовый ящик где-нибудь (например, Gmail) и забрать ту электронную почту с заданием крона тот вызов fetchmail
и поставляет к локальному MTA. Это не требует фиксированного IP для сервера, ни что порт для MTA (25) на сервере достижим от внешнего мира.
Автоматическое издание должно быть выполнено с использованием SED (1)
(см. MAN SED
)
Подобные ваши ищеты
sed -i -e s/old/new/g -e /deletethis/d -e '/^$/d' postgresdb.out
Я не уверен, что вы ожидаете с :% S / \ N \ N // D
.
Где
-I
означает редактирование на месте (обычно SED будет выводить издание сделать стандартный выход) -E
... сделать издание / удаление -E '/ ^ ^ $ / D '
Shoudl Удалить пустые линии Если вам действительно не нужны особые возможности Vim, вам, вероятно, лучше использовать неинтерактивные инструменты , например ] sed
, awk
или Perl / Python / Ruby / ваш любимый язык сценариев здесь .
Тем не менее, вы можете использовать Vim в неинтерактивном режиме:
Для очень простой обработки текста (т. Е. Используя Vim как расширенный 'sed' или 'awk', возможно, просто извлекая выгоду из улучшенного обычного выражения в : замените команду
), используйте Ex-режим .
REM Windows
call vim -N -u NONE -n -i NONE -es -S "commands.ex" "filespec"
Примечание: пакетный режим без вывода сообщений (: help -s-ex
) приводит к сбоям в работе консоли Windows, поэтому вам, возможно, придется выполнить cls
для очистки после запуска Vim.
# Unix
vim -T dumb --noplugin -n -i NONE -es -S "commands.ex" "filespec"
Внимание: Vim зависнет в ожидании ввода, если файл "commands.ex"
не существует; лучше заранее проверьте его наличие! Кроме того, Vim может читать команды из стандартного ввода. Вы также можете заполнить новый буфер текстом, прочитанным из stdin, и прочитать команды из stderr, если вы используете аргумент -
.
Для более продвинутой обработки, включающей несколько окон, и реальной автоматизации Vim (где вы можете взаимодействовать с пользователем или оставить Vim работающим, чтобы позволить пользователю взять на себя управление), используйте:
vim -N -u NONE -n -c "set nomore" -S "commands.vim" "filespec"
Вот краткое изложение используемые аргументы:
-T dumb Avoids errors in case the terminal detection goes wrong.
-N -u NONE Do not load vimrc and plugins, alternatively:
--noplugin Do not load plugins.
-n No swapfile.
-i NONE Ignore the |viminfo| file (to avoid disturbing the
user's settings).
-es Ex mode + silent batch mode -s-ex
Attention: Must be given in that order!
-S ... Source script.
-c 'set nomore' Suppress the more-prompt when the screen is filled
with messages or output to avoid blocking.