Описание тега asiana-airlines
В данном конкретном случае, если ваша почта
поддерживает -электронный
вариант, просто использовать его. В общем случае, можно попробовать прочитать один символ; если есть, Запустите командную постобработки и кормить его, что символ из оставшейся части файла.
pipe_if_not_empty () {
а=$(ДД БС=1 отсчет=1 2>/dev/нуль; Эхо .) # читать более одного персонажа
Если [ "$а" != "." ]; тогда # если появились два символа,
{ Е %С "${в%.}"; # после выхода первого символа
кошка; } | # а остальным вход
"$@" # в указанную программу
интернет
}
mailq | для egrep 'отклонена|не-А 5-Б 5 |
pipe_if_not_empty почте -с 'ДД' электронной почты@письмо
Примечание срок полезного использования кот
. Добавление Эхо .
делает эта функция работает даже если первый символ входной строки (напомню, что $(...)
построить полос, терминала строки).
С большинством снарядов (ничего кроме ЗШ, насколько я знаю), если файл начинается с нулевого символа, этот код будет поверить, что это пустое. Фиксации, что осталось в качестве упражнения для читателя. (Подсказка: используйте ОД
в первую подоболочку и функции printf
для печати первый байт.) (Решение: как проверить, если труба будет пустой) Вы можете столкнуться с той же проблемой, если файл начинается с байта, который не является допустимым символом в текущей локали; это легче исправить, запустив этот код с значение lc_all=с
.