linux CLI 下发送邮件换行符问题。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
div class="inner" id="node_sidebar"> Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
1yndonn3u
V2EX    Linux

linux CLI 下发送邮件换行符问题。

  •  
  •   1yndonn3u 2015-12-15 21:47:26 +08:00 3721 次点击
    这是一个创建于 3601 天前的主题,其中的信息可能已经有所发展或是发生改变。

    df -lh 结果如下

    ~ df -lh
    Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
    /dev/disk1 112Gi 42Gi 70Gi 38% 10947483 18375779 37% /

    我想把以上内容通过 CLI 界面的邮箱直接发送除去,但是发出去的结果就变成了一行显示了,不能保持现在的格式化输出。
    哪位朋友有办法么?最好使用 mail -s

    对了,我还要对里面的数据进行排序和处理,磁盘空间大于 50%的时候标记为红颜色。

    6 条回复    2015-12-18 11:44:48 +08:00
    billlee
        1
    billlee  
       2015-12-15 22:06:42 +08:00
    sed 's/$/\r/' 吗?
    bdbai
        2
    bdbai  
       2015-12-15 22:32:48 +08:00 via iPhone
    上 HTML 。
    Orzzzz
        3
    Orzzzz  
       2015-12-15 22:59:56 +08:00
    df -h > df.txt

    发送附件。
    uuspider
        4
    uuspider  
       2015-12-15 23:09:59 +08:00
    << EOF
    应该是可以的
    Arthur2e5
        5
    Arthur2e5  
       2015-12-18 11:43:54 +08:00
    纯文本邮件一般单独一个换行没有特殊的意义,只有相当于 wrap line 的意思,而有些电子邮件客户端就喜欢把这些东西吃掉,只考虑连续两个换行符为新自然段的意思(这当然很蠢发个充满诚意的制表符画出来的表格直接 GG )。收发的时候应该还是原样的,不过的确也听说过逗逼服务商强行吃掉重排的情况。

    HTML 是个好主意,毕竟敢吃 <pre> 的逗逼更少一点。附件的话一般服务商更不敢乱改了。考虑到想要加奇怪的高亮功能,我们用 HTML 吧:

    # 自己爱怎么缩进怎么来。。
    shopt -e
    generate(){
    set -f
    local out i tok && readarray -t out < <(df -lh) || return;
    printf '<pre>\n'
    for i in "${out[@]}"; do
    for tok in $i; do
    if [[ $i == +([0-9])% && ${i%\%} < 50 ]]; then
    printf '<font color=red>%s</font>\t' "$i"
    else
    printf '%s\t' "$i"
    fi
    done
    printf '\n'
    done
    set +f
    }

    懒得写查找替换实体了……自己小心点……另外这会打乱列的排列我懒得重新统计 format 先用 tab 糊上吧……
    Arthur2e5
        6
    Arthur2e5  
       2015-12-18 11:44:48 +0:00
    @Arthur2e5 我个傻子。。 for tok in $i 直到第一个 done 里面所有的 $i 换成 $tok, ${i 换成 ${tok 。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2487 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 15:05 PVG 23:05 LAX 08:05 JFK 11:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86