You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Shell脚本输出转为表格形式并发送邮件

Shell脚本生成文件状态表格并发送邮件方案

脚本优化要点

  • 支持批量检查多个文件,扩展性更强
  • 用printf生成对齐的表格格式,输出更规范
  • 集成邮件发送功能,自动推送报告

完整脚本

#!/bin/bash

# 配置要检查的文件路径列表,可按需添加
files=(
    "/saddwsgnas/radsfftor/coffe/COE_daily_File.xlsx"
    "/path/to/CareOneHMA.xlsx"
)

# 生成表格表头及分隔线
printf "%-25s %-15s\n" "文件名" "修改日期"
printf "%-25s %-15s\n" "-------------------------" "---------------"

# 遍历检查每个文件,生成表格内容
for file in "${files[@]}"; do
    filename=$(basename "$file")
    if [ -e "$file" ]; then
        # 获取格式化的修改日期,直接输出月份缩写+日期
        mod_date=$(stat -c "%b %d" "$file")
        printf "%-25s %-15s\n" "$filename" "$mod_date"
    else
        printf "%-25s %-15s\n" "$filename" "未找到"
    fi
done > file_report.txt

# 发送邮件,替换为实际收件人邮箱
mail -s "每日文件状态报告" your_email@example.com < file_report.txt

# 清理临时文件
rm -f file_report.txt

关键细节说明

  • 批量处理:通过数组files批量管理要检查的文件,不用重复编写判断逻辑
  • 表格对齐:printf "%-Ns"格式控制列宽,确保每列内容左对齐且整齐
  • 日期获取:用stat命令替代ls,避免因ls输出格式变化导致的问题,%b %d直接输出月份缩写和日期
  • 邮件发送:依赖系统邮件服务(如Postfix),需提前配置好邮件环境

最终输出表格示例

文件名修改日期
COE_daily_File.xlsxJun 11
CareOneHMA.xlsx未找到

内容的提问来源于stack exchange,提问作者sai m

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 20:00:58