2016-06-18 8 views
-2

Мне нужна помощь для сценариев bash У меня есть папка с файлами журнала (число может меняться) Мне нужно протестировать эти файлы для контента, и если у одного или нескольких из этих файлов есть контент, я хочу отправить содержимое по почте (я использую mailx) отформатировано так:Тестирование содержимого файла

Содержание «filename»: ------ content --------- Содержимое «filename2» is : ------ content --------- В «filename3» не было изображения.

Любой практический способ использования bash для этого?

Благодарим за помощь.

+0

Пожалуйста, обратите внимание на [редактирование-помощь] (http://stackoverflow.com/editing-help). – Cyrus

+0

Этот вопрос задает две разные вещи: Отправка писем от bash (см. Здесь [здесь] (http://stackoverflow.com/questions/5155923/sending-a-mail-from-a-linux-shell-script)) , и тестирование, если файл пуст (см. [здесь] (http://stackoverflow.com/questions/9964823/how-to-check-if-a-file-is-empty-in-bash-shell)). Я не знаю, может ли совместить два других вопроса с одним вопросом, но даже тогда название вопроса должно быть обновлено, чтобы отразить это. – user000001

+0

Извините, я должен был сказать. Отправляя по почте, я знаю, как это сделать. Моя проблема заключается в тестировании, если файл имеет контент, а затем форматирует этот контент, чтобы его можно было отправить. –

ответ

1
shopt -s nullglob 
for i in *; do 
    if [[ -s "$i" ]]; then 
    echo "file $i exists and is not empty" 
    fi 
done 

См: man bash